diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmAddInstrument.cs b/FrmAddInstrument.cs index 683c3be..2c0ea07 100644 --- a/FrmAddInstrument.cs +++ b/FrmAddInstrument.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -25,6 +26,7 @@ panel1.Controls.Add(plane3DControl); plane3DControl.Dock = DockStyle.Fill; } + /// /// 添加按钮事件处理 /// @@ -32,37 +34,37 @@ /// private void btnAdd_Click(object sender, EventArgs e) { - if (feature != null) + if (feature == null) { - if (markerFeature != null) - { - markerFeature.Delete(); - } - GSOPoint3d pt = new GSOPoint3d(); - pt.X = point.X; - pt.Y = point.Y; - pt.Z = point.Z; - GSOGeoModel model = new GSOGeoModel(); - model.FilePath = modelPath; - model.Position = pt; - model.AltitudeMode = EnumAltitudeMode.Absolute; - feature = new GSOFeature(); - feature.Geometry = model; - modelLayer.AddFeature(feature); - if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - modelLayer.Save(); - } - globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); - globeControl1.Refresh(); - } - else - { - MessageBox.Show("请选中一个附属物!","提示"); + MessageBox.Show("请选中一个附属物!", "提示"); return; } - Close(); + + if (markerFeature != null) + { + markerFeature.Delete(); + } + GSOPoint3d pt = new GSOPoint3d(); + pt.X = point.X; + pt.Y = point.Y; + pt.Z = point.Z; + GSOGeoModel model = new GSOGeoModel(); + model.FilePath = modelPath; + model.Position = pt; + model.AltitudeMode = EnumAltitudeMode.Absolute; + feature = new GSOFeature(); + feature.Geometry = model; + modelLayer.AddFeature(feature); + if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + modelLayer.Save(); + } + globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); + globeControl1.Refresh(); + + Close(); } + /// /// 关闭按钮事件处理 /// diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmAddInstrument.cs b/FrmAddInstrument.cs index 683c3be..2c0ea07 100644 --- a/FrmAddInstrument.cs +++ b/FrmAddInstrument.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -25,6 +26,7 @@ panel1.Controls.Add(plane3DControl); plane3DControl.Dock = DockStyle.Fill; } + /// /// 添加按钮事件处理 /// @@ -32,37 +34,37 @@ /// private void btnAdd_Click(object sender, EventArgs e) { - if (feature != null) + if (feature == null) { - if (markerFeature != null) - { - markerFeature.Delete(); - } - GSOPoint3d pt = new GSOPoint3d(); - pt.X = point.X; - pt.Y = point.Y; - pt.Z = point.Z; - GSOGeoModel model = new GSOGeoModel(); - model.FilePath = modelPath; - model.Position = pt; - model.AltitudeMode = EnumAltitudeMode.Absolute; - feature = new GSOFeature(); - feature.Geometry = model; - modelLayer.AddFeature(feature); - if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - modelLayer.Save(); - } - globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); - globeControl1.Refresh(); - } - else - { - MessageBox.Show("请选中一个附属物!","提示"); + MessageBox.Show("请选中一个附属物!", "提示"); return; } - Close(); + + if (markerFeature != null) + { + markerFeature.Delete(); + } + GSOPoint3d pt = new GSOPoint3d(); + pt.X = point.X; + pt.Y = point.Y; + pt.Z = point.Z; + GSOGeoModel model = new GSOGeoModel(); + model.FilePath = modelPath; + model.Position = pt; + model.AltitudeMode = EnumAltitudeMode.Absolute; + feature = new GSOFeature(); + feature.Geometry = model; + modelLayer.AddFeature(feature); + if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + modelLayer.Save(); + } + globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); + globeControl1.Refresh(); + + Close(); } + /// /// 关闭按钮事件处理 /// diff --git a/FrmAddInstrument.designer.cs b/FrmAddInstrument.designer.cs index 2ebab1d..307d2c6 100644 --- a/FrmAddInstrument.designer.cs +++ b/FrmAddInstrument.designer.cs @@ -56,10 +56,9 @@ this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel1.Controls.Add(this.listBoxSize); this.groupPanel1.Controls.Add(this.label2); - this.groupPanel1.Location = new System.Drawing.Point(15, 58); - this.groupPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel1.Location = new System.Drawing.Point(11, 46); this.groupPanel1.Name = "groupPanel1"; - this.groupPanel1.Size = new System.Drawing.Size(611, 125); + this.groupPanel1.Size = new System.Drawing.Size(458, 100); // // // @@ -96,11 +95,10 @@ // listBoxSize // this.listBoxSize.FormattingEnabled = true; - this.listBoxSize.ItemHeight = 15; - this.listBoxSize.Location = new System.Drawing.Point(115, 11); - this.listBoxSize.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.listBoxSize.ItemHeight = 12; + this.listBoxSize.Location = new System.Drawing.Point(86, 9); this.listBoxSize.Name = "listBoxSize"; - this.listBoxSize.Size = new System.Drawing.Size(464, 94); + this.listBoxSize.Size = new System.Drawing.Size(349, 76); this.listBoxSize.TabIndex = 8; this.listBoxSize.SelectedIndexChanged += new System.EventHandler(this.listBoxSize_SelectedIndexChanged); // @@ -109,10 +107,9 @@ this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.Font = new System.Drawing.Font("宋体", 9F); - this.label2.Location = new System.Drawing.Point(20, 11); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Location = new System.Drawing.Point(15, 9); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(67, 15); + this.label2.Size = new System.Drawing.Size(53, 12); this.label2.TabIndex = 1; this.label2.Text = "附属物:"; // @@ -121,10 +118,9 @@ this.groupPanel2.CanvasColor = System.Drawing.SystemColors.Control; this.groupPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel2.Controls.Add(this.panel1); - this.groupPanel2.Location = new System.Drawing.Point(15, 190); - this.groupPanel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel2.Location = new System.Drawing.Point(11, 152); this.groupPanel2.Name = "groupPanel2"; - this.groupPanel2.Size = new System.Drawing.Size(611, 329); + this.groupPanel2.Size = new System.Drawing.Size(458, 263); // // // @@ -163,19 +159,17 @@ // this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(605, 302); + this.panel1.Size = new System.Drawing.Size(452, 241); this.panel1.TabIndex = 0; // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnCancel.Location = new System.Drawing.Point(527, 528); - this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnCancel.Location = new System.Drawing.Point(395, 422); this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(100, 29); + this.btnCancel.Size = new System.Drawing.Size(75, 23); this.btnCancel.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnCancel.TabIndex = 16; this.btnCancel.Text = "关闭"; @@ -185,10 +179,9 @@ // this.btnAdd.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnAdd.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnAdd.Location = new System.Drawing.Point(415, 528); - this.btnAdd.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnAdd.Location = new System.Drawing.Point(311, 422); this.btnAdd.Name = "btnAdd"; - this.btnAdd.Size = new System.Drawing.Size(100, 29); + this.btnAdd.Size = new System.Drawing.Size(75, 23); this.btnAdd.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnAdd.TabIndex = 15; this.btnAdd.Text = "添加"; @@ -202,10 +195,9 @@ this.groupPanel3.Controls.Add(this.textBoxXLon); this.groupPanel3.Controls.Add(this.labelLat); this.groupPanel3.Controls.Add(this.labelLon); - this.groupPanel3.Location = new System.Drawing.Point(15, 8); - this.groupPanel3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel3.Location = new System.Drawing.Point(11, 6); this.groupPanel3.Name = "groupPanel3"; - this.groupPanel3.Size = new System.Drawing.Size(611, 40); + this.groupPanel3.Size = new System.Drawing.Size(458, 32); // // // @@ -246,10 +238,9 @@ // this.textBoxXLat.Border.Class = "TextBoxBorder"; this.textBoxXLat.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLat.Location = new System.Drawing.Point(409, 2); - this.textBoxXLat.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLat.Location = new System.Drawing.Point(307, 2); this.textBoxXLat.Name = "textBoxXLat"; - this.textBoxXLat.Size = new System.Drawing.Size(171, 30); + this.textBoxXLat.Size = new System.Drawing.Size(128, 21); this.textBoxXLat.TabIndex = 3; this.textBoxXLat.TextChanged += new System.EventHandler(this.textBoxXLat_TextChanged); // @@ -260,10 +251,9 @@ // this.textBoxXLon.Border.Class = "TextBoxBorder"; this.textBoxXLon.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLon.Location = new System.Drawing.Point(115, 2); - this.textBoxXLon.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLon.Location = new System.Drawing.Point(86, 2); this.textBoxXLon.Name = "textBoxXLon"; - this.textBoxXLon.Size = new System.Drawing.Size(171, 30); + this.textBoxXLon.Size = new System.Drawing.Size(128, 21); this.textBoxXLon.TabIndex = 2; this.textBoxXLon.TextChanged += new System.EventHandler(this.textBoxXLon_TextChanged); // @@ -272,10 +262,9 @@ this.labelLat.AutoSize = true; this.labelLat.BackColor = System.Drawing.Color.Transparent; this.labelLat.Font = new System.Drawing.Font("宋体", 9F); - this.labelLat.Location = new System.Drawing.Point(329, 11); - this.labelLat.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLat.Location = new System.Drawing.Point(247, 9); this.labelLat.Name = "labelLat"; - this.labelLat.Size = new System.Drawing.Size(52, 15); + this.labelLat.Size = new System.Drawing.Size(41, 12); this.labelLat.TabIndex = 1; this.labelLat.Text = "纬度:"; // @@ -284,18 +273,17 @@ this.labelLon.AutoSize = true; this.labelLon.BackColor = System.Drawing.Color.Transparent; this.labelLon.Font = new System.Drawing.Font("宋体", 9F); - this.labelLon.Location = new System.Drawing.Point(20, 11); - this.labelLon.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLon.Location = new System.Drawing.Point(15, 9); this.labelLon.Name = "labelLon"; - this.labelLon.Size = new System.Drawing.Size(52, 15); + this.labelLon.Size = new System.Drawing.Size(41, 12); this.labelLon.TabIndex = 1; this.labelLon.Text = "经度:"; // // FrmAddInstrument // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(641, 564); + this.ClientSize = new System.Drawing.Size(481, 451); this.Controls.Add(this.groupPanel3); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnAdd); @@ -304,7 +292,6 @@ this.DoubleBuffered = true; this.EnableGlass = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.MaximizeBox = false; this.Name = "FrmAddInstrument"; this.ShowIcon = false; diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmAddInstrument.cs b/FrmAddInstrument.cs index 683c3be..2c0ea07 100644 --- a/FrmAddInstrument.cs +++ b/FrmAddInstrument.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -25,6 +26,7 @@ panel1.Controls.Add(plane3DControl); plane3DControl.Dock = DockStyle.Fill; } + /// /// 添加按钮事件处理 /// @@ -32,37 +34,37 @@ /// private void btnAdd_Click(object sender, EventArgs e) { - if (feature != null) + if (feature == null) { - if (markerFeature != null) - { - markerFeature.Delete(); - } - GSOPoint3d pt = new GSOPoint3d(); - pt.X = point.X; - pt.Y = point.Y; - pt.Z = point.Z; - GSOGeoModel model = new GSOGeoModel(); - model.FilePath = modelPath; - model.Position = pt; - model.AltitudeMode = EnumAltitudeMode.Absolute; - feature = new GSOFeature(); - feature.Geometry = model; - modelLayer.AddFeature(feature); - if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - modelLayer.Save(); - } - globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); - globeControl1.Refresh(); - } - else - { - MessageBox.Show("请选中一个附属物!","提示"); + MessageBox.Show("请选中一个附属物!", "提示"); return; } - Close(); + + if (markerFeature != null) + { + markerFeature.Delete(); + } + GSOPoint3d pt = new GSOPoint3d(); + pt.X = point.X; + pt.Y = point.Y; + pt.Z = point.Z; + GSOGeoModel model = new GSOGeoModel(); + model.FilePath = modelPath; + model.Position = pt; + model.AltitudeMode = EnumAltitudeMode.Absolute; + feature = new GSOFeature(); + feature.Geometry = model; + modelLayer.AddFeature(feature); + if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + modelLayer.Save(); + } + globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); + globeControl1.Refresh(); + + Close(); } + /// /// 关闭按钮事件处理 /// diff --git a/FrmAddInstrument.designer.cs b/FrmAddInstrument.designer.cs index 2ebab1d..307d2c6 100644 --- a/FrmAddInstrument.designer.cs +++ b/FrmAddInstrument.designer.cs @@ -56,10 +56,9 @@ this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel1.Controls.Add(this.listBoxSize); this.groupPanel1.Controls.Add(this.label2); - this.groupPanel1.Location = new System.Drawing.Point(15, 58); - this.groupPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel1.Location = new System.Drawing.Point(11, 46); this.groupPanel1.Name = "groupPanel1"; - this.groupPanel1.Size = new System.Drawing.Size(611, 125); + this.groupPanel1.Size = new System.Drawing.Size(458, 100); // // // @@ -96,11 +95,10 @@ // listBoxSize // this.listBoxSize.FormattingEnabled = true; - this.listBoxSize.ItemHeight = 15; - this.listBoxSize.Location = new System.Drawing.Point(115, 11); - this.listBoxSize.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.listBoxSize.ItemHeight = 12; + this.listBoxSize.Location = new System.Drawing.Point(86, 9); this.listBoxSize.Name = "listBoxSize"; - this.listBoxSize.Size = new System.Drawing.Size(464, 94); + this.listBoxSize.Size = new System.Drawing.Size(349, 76); this.listBoxSize.TabIndex = 8; this.listBoxSize.SelectedIndexChanged += new System.EventHandler(this.listBoxSize_SelectedIndexChanged); // @@ -109,10 +107,9 @@ this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.Font = new System.Drawing.Font("宋体", 9F); - this.label2.Location = new System.Drawing.Point(20, 11); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Location = new System.Drawing.Point(15, 9); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(67, 15); + this.label2.Size = new System.Drawing.Size(53, 12); this.label2.TabIndex = 1; this.label2.Text = "附属物:"; // @@ -121,10 +118,9 @@ this.groupPanel2.CanvasColor = System.Drawing.SystemColors.Control; this.groupPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel2.Controls.Add(this.panel1); - this.groupPanel2.Location = new System.Drawing.Point(15, 190); - this.groupPanel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel2.Location = new System.Drawing.Point(11, 152); this.groupPanel2.Name = "groupPanel2"; - this.groupPanel2.Size = new System.Drawing.Size(611, 329); + this.groupPanel2.Size = new System.Drawing.Size(458, 263); // // // @@ -163,19 +159,17 @@ // this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(605, 302); + this.panel1.Size = new System.Drawing.Size(452, 241); this.panel1.TabIndex = 0; // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnCancel.Location = new System.Drawing.Point(527, 528); - this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnCancel.Location = new System.Drawing.Point(395, 422); this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(100, 29); + this.btnCancel.Size = new System.Drawing.Size(75, 23); this.btnCancel.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnCancel.TabIndex = 16; this.btnCancel.Text = "关闭"; @@ -185,10 +179,9 @@ // this.btnAdd.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnAdd.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnAdd.Location = new System.Drawing.Point(415, 528); - this.btnAdd.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnAdd.Location = new System.Drawing.Point(311, 422); this.btnAdd.Name = "btnAdd"; - this.btnAdd.Size = new System.Drawing.Size(100, 29); + this.btnAdd.Size = new System.Drawing.Size(75, 23); this.btnAdd.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnAdd.TabIndex = 15; this.btnAdd.Text = "添加"; @@ -202,10 +195,9 @@ this.groupPanel3.Controls.Add(this.textBoxXLon); this.groupPanel3.Controls.Add(this.labelLat); this.groupPanel3.Controls.Add(this.labelLon); - this.groupPanel3.Location = new System.Drawing.Point(15, 8); - this.groupPanel3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel3.Location = new System.Drawing.Point(11, 6); this.groupPanel3.Name = "groupPanel3"; - this.groupPanel3.Size = new System.Drawing.Size(611, 40); + this.groupPanel3.Size = new System.Drawing.Size(458, 32); // // // @@ -246,10 +238,9 @@ // this.textBoxXLat.Border.Class = "TextBoxBorder"; this.textBoxXLat.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLat.Location = new System.Drawing.Point(409, 2); - this.textBoxXLat.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLat.Location = new System.Drawing.Point(307, 2); this.textBoxXLat.Name = "textBoxXLat"; - this.textBoxXLat.Size = new System.Drawing.Size(171, 30); + this.textBoxXLat.Size = new System.Drawing.Size(128, 21); this.textBoxXLat.TabIndex = 3; this.textBoxXLat.TextChanged += new System.EventHandler(this.textBoxXLat_TextChanged); // @@ -260,10 +251,9 @@ // this.textBoxXLon.Border.Class = "TextBoxBorder"; this.textBoxXLon.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLon.Location = new System.Drawing.Point(115, 2); - this.textBoxXLon.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLon.Location = new System.Drawing.Point(86, 2); this.textBoxXLon.Name = "textBoxXLon"; - this.textBoxXLon.Size = new System.Drawing.Size(171, 30); + this.textBoxXLon.Size = new System.Drawing.Size(128, 21); this.textBoxXLon.TabIndex = 2; this.textBoxXLon.TextChanged += new System.EventHandler(this.textBoxXLon_TextChanged); // @@ -272,10 +262,9 @@ this.labelLat.AutoSize = true; this.labelLat.BackColor = System.Drawing.Color.Transparent; this.labelLat.Font = new System.Drawing.Font("宋体", 9F); - this.labelLat.Location = new System.Drawing.Point(329, 11); - this.labelLat.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLat.Location = new System.Drawing.Point(247, 9); this.labelLat.Name = "labelLat"; - this.labelLat.Size = new System.Drawing.Size(52, 15); + this.labelLat.Size = new System.Drawing.Size(41, 12); this.labelLat.TabIndex = 1; this.labelLat.Text = "纬度:"; // @@ -284,18 +273,17 @@ this.labelLon.AutoSize = true; this.labelLon.BackColor = System.Drawing.Color.Transparent; this.labelLon.Font = new System.Drawing.Font("宋体", 9F); - this.labelLon.Location = new System.Drawing.Point(20, 11); - this.labelLon.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLon.Location = new System.Drawing.Point(15, 9); this.labelLon.Name = "labelLon"; - this.labelLon.Size = new System.Drawing.Size(52, 15); + this.labelLon.Size = new System.Drawing.Size(41, 12); this.labelLon.TabIndex = 1; this.labelLon.Text = "经度:"; // // FrmAddInstrument // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(641, 564); + this.ClientSize = new System.Drawing.Size(481, 451); this.Controls.Add(this.groupPanel3); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnAdd); @@ -304,7 +292,6 @@ this.DoubleBuffered = true; this.EnableGlass = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.MaximizeBox = false; this.Name = "FrmAddInstrument"; this.ShowIcon = false; diff --git a/FrmBufferAnalysis.cs b/FrmBufferAnalysis.cs index ea8a4b7..30bab88 100644 --- a/FrmBufferAnalysis.cs +++ b/FrmBufferAnalysis.cs @@ -30,13 +30,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } } @@ -114,23 +112,17 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i=0;i @@ -145,25 +137,18 @@ { e.Handled = true; } - if (e.KeyChar == 46) //小数点 + if (e.KeyChar != 46) return; + if (text.Text.Length <= 0) + e.Handled = true; //小数点不能在第一位 + else //处理不规则的小数点 { - if (text.Text.Length <= 0) - e.Handled = true; //小数点不能在第一位 - else //处理不规则的小数点 - { - float f; - float oldf; - bool b1 = false, b2 = false; - b1 = float.TryParse(text.Text, out oldf); - b2 = float.TryParse(text.Text + e.KeyChar, out f); - if (b2 == false) - { - if (b1) - e.Handled = true; - else - e.Handled = false; - } - } + float f; + float oldf; + bool b1 = false, b2 = false; + b1 = float.TryParse(text.Text, out oldf); + b2 = float.TryParse(text.Text + e.KeyChar, out f); + if (b2) return; + e.Handled = b1; } } /// @@ -197,51 +182,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } - } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -258,22 +236,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -293,38 +259,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -337,23 +297,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmAddInstrument.cs b/FrmAddInstrument.cs index 683c3be..2c0ea07 100644 --- a/FrmAddInstrument.cs +++ b/FrmAddInstrument.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -25,6 +26,7 @@ panel1.Controls.Add(plane3DControl); plane3DControl.Dock = DockStyle.Fill; } + /// /// 添加按钮事件处理 /// @@ -32,37 +34,37 @@ /// private void btnAdd_Click(object sender, EventArgs e) { - if (feature != null) + if (feature == null) { - if (markerFeature != null) - { - markerFeature.Delete(); - } - GSOPoint3d pt = new GSOPoint3d(); - pt.X = point.X; - pt.Y = point.Y; - pt.Z = point.Z; - GSOGeoModel model = new GSOGeoModel(); - model.FilePath = modelPath; - model.Position = pt; - model.AltitudeMode = EnumAltitudeMode.Absolute; - feature = new GSOFeature(); - feature.Geometry = model; - modelLayer.AddFeature(feature); - if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - modelLayer.Save(); - } - globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); - globeControl1.Refresh(); - } - else - { - MessageBox.Show("请选中一个附属物!","提示"); + MessageBox.Show("请选中一个附属物!", "提示"); return; } - Close(); + + if (markerFeature != null) + { + markerFeature.Delete(); + } + GSOPoint3d pt = new GSOPoint3d(); + pt.X = point.X; + pt.Y = point.Y; + pt.Z = point.Z; + GSOGeoModel model = new GSOGeoModel(); + model.FilePath = modelPath; + model.Position = pt; + model.AltitudeMode = EnumAltitudeMode.Absolute; + feature = new GSOFeature(); + feature.Geometry = model; + modelLayer.AddFeature(feature); + if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + modelLayer.Save(); + } + globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); + globeControl1.Refresh(); + + Close(); } + /// /// 关闭按钮事件处理 /// diff --git a/FrmAddInstrument.designer.cs b/FrmAddInstrument.designer.cs index 2ebab1d..307d2c6 100644 --- a/FrmAddInstrument.designer.cs +++ b/FrmAddInstrument.designer.cs @@ -56,10 +56,9 @@ this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel1.Controls.Add(this.listBoxSize); this.groupPanel1.Controls.Add(this.label2); - this.groupPanel1.Location = new System.Drawing.Point(15, 58); - this.groupPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel1.Location = new System.Drawing.Point(11, 46); this.groupPanel1.Name = "groupPanel1"; - this.groupPanel1.Size = new System.Drawing.Size(611, 125); + this.groupPanel1.Size = new System.Drawing.Size(458, 100); // // // @@ -96,11 +95,10 @@ // listBoxSize // this.listBoxSize.FormattingEnabled = true; - this.listBoxSize.ItemHeight = 15; - this.listBoxSize.Location = new System.Drawing.Point(115, 11); - this.listBoxSize.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.listBoxSize.ItemHeight = 12; + this.listBoxSize.Location = new System.Drawing.Point(86, 9); this.listBoxSize.Name = "listBoxSize"; - this.listBoxSize.Size = new System.Drawing.Size(464, 94); + this.listBoxSize.Size = new System.Drawing.Size(349, 76); this.listBoxSize.TabIndex = 8; this.listBoxSize.SelectedIndexChanged += new System.EventHandler(this.listBoxSize_SelectedIndexChanged); // @@ -109,10 +107,9 @@ this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.Font = new System.Drawing.Font("宋体", 9F); - this.label2.Location = new System.Drawing.Point(20, 11); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Location = new System.Drawing.Point(15, 9); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(67, 15); + this.label2.Size = new System.Drawing.Size(53, 12); this.label2.TabIndex = 1; this.label2.Text = "附属物:"; // @@ -121,10 +118,9 @@ this.groupPanel2.CanvasColor = System.Drawing.SystemColors.Control; this.groupPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel2.Controls.Add(this.panel1); - this.groupPanel2.Location = new System.Drawing.Point(15, 190); - this.groupPanel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel2.Location = new System.Drawing.Point(11, 152); this.groupPanel2.Name = "groupPanel2"; - this.groupPanel2.Size = new System.Drawing.Size(611, 329); + this.groupPanel2.Size = new System.Drawing.Size(458, 263); // // // @@ -163,19 +159,17 @@ // this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(605, 302); + this.panel1.Size = new System.Drawing.Size(452, 241); this.panel1.TabIndex = 0; // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnCancel.Location = new System.Drawing.Point(527, 528); - this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnCancel.Location = new System.Drawing.Point(395, 422); this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(100, 29); + this.btnCancel.Size = new System.Drawing.Size(75, 23); this.btnCancel.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnCancel.TabIndex = 16; this.btnCancel.Text = "关闭"; @@ -185,10 +179,9 @@ // this.btnAdd.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnAdd.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnAdd.Location = new System.Drawing.Point(415, 528); - this.btnAdd.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnAdd.Location = new System.Drawing.Point(311, 422); this.btnAdd.Name = "btnAdd"; - this.btnAdd.Size = new System.Drawing.Size(100, 29); + this.btnAdd.Size = new System.Drawing.Size(75, 23); this.btnAdd.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnAdd.TabIndex = 15; this.btnAdd.Text = "添加"; @@ -202,10 +195,9 @@ this.groupPanel3.Controls.Add(this.textBoxXLon); this.groupPanel3.Controls.Add(this.labelLat); this.groupPanel3.Controls.Add(this.labelLon); - this.groupPanel3.Location = new System.Drawing.Point(15, 8); - this.groupPanel3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel3.Location = new System.Drawing.Point(11, 6); this.groupPanel3.Name = "groupPanel3"; - this.groupPanel3.Size = new System.Drawing.Size(611, 40); + this.groupPanel3.Size = new System.Drawing.Size(458, 32); // // // @@ -246,10 +238,9 @@ // this.textBoxXLat.Border.Class = "TextBoxBorder"; this.textBoxXLat.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLat.Location = new System.Drawing.Point(409, 2); - this.textBoxXLat.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLat.Location = new System.Drawing.Point(307, 2); this.textBoxXLat.Name = "textBoxXLat"; - this.textBoxXLat.Size = new System.Drawing.Size(171, 30); + this.textBoxXLat.Size = new System.Drawing.Size(128, 21); this.textBoxXLat.TabIndex = 3; this.textBoxXLat.TextChanged += new System.EventHandler(this.textBoxXLat_TextChanged); // @@ -260,10 +251,9 @@ // this.textBoxXLon.Border.Class = "TextBoxBorder"; this.textBoxXLon.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLon.Location = new System.Drawing.Point(115, 2); - this.textBoxXLon.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLon.Location = new System.Drawing.Point(86, 2); this.textBoxXLon.Name = "textBoxXLon"; - this.textBoxXLon.Size = new System.Drawing.Size(171, 30); + this.textBoxXLon.Size = new System.Drawing.Size(128, 21); this.textBoxXLon.TabIndex = 2; this.textBoxXLon.TextChanged += new System.EventHandler(this.textBoxXLon_TextChanged); // @@ -272,10 +262,9 @@ this.labelLat.AutoSize = true; this.labelLat.BackColor = System.Drawing.Color.Transparent; this.labelLat.Font = new System.Drawing.Font("宋体", 9F); - this.labelLat.Location = new System.Drawing.Point(329, 11); - this.labelLat.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLat.Location = new System.Drawing.Point(247, 9); this.labelLat.Name = "labelLat"; - this.labelLat.Size = new System.Drawing.Size(52, 15); + this.labelLat.Size = new System.Drawing.Size(41, 12); this.labelLat.TabIndex = 1; this.labelLat.Text = "纬度:"; // @@ -284,18 +273,17 @@ this.labelLon.AutoSize = true; this.labelLon.BackColor = System.Drawing.Color.Transparent; this.labelLon.Font = new System.Drawing.Font("宋体", 9F); - this.labelLon.Location = new System.Drawing.Point(20, 11); - this.labelLon.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLon.Location = new System.Drawing.Point(15, 9); this.labelLon.Name = "labelLon"; - this.labelLon.Size = new System.Drawing.Size(52, 15); + this.labelLon.Size = new System.Drawing.Size(41, 12); this.labelLon.TabIndex = 1; this.labelLon.Text = "经度:"; // // FrmAddInstrument // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(641, 564); + this.ClientSize = new System.Drawing.Size(481, 451); this.Controls.Add(this.groupPanel3); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnAdd); @@ -304,7 +292,6 @@ this.DoubleBuffered = true; this.EnableGlass = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.MaximizeBox = false; this.Name = "FrmAddInstrument"; this.ShowIcon = false; diff --git a/FrmBufferAnalysis.cs b/FrmBufferAnalysis.cs index ea8a4b7..30bab88 100644 --- a/FrmBufferAnalysis.cs +++ b/FrmBufferAnalysis.cs @@ -30,13 +30,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } } @@ -114,23 +112,17 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i=0;i @@ -145,25 +137,18 @@ { e.Handled = true; } - if (e.KeyChar == 46) //小数点 + if (e.KeyChar != 46) return; + if (text.Text.Length <= 0) + e.Handled = true; //小数点不能在第一位 + else //处理不规则的小数点 { - if (text.Text.Length <= 0) - e.Handled = true; //小数点不能在第一位 - else //处理不规则的小数点 - { - float f; - float oldf; - bool b1 = false, b2 = false; - b1 = float.TryParse(text.Text, out oldf); - b2 = float.TryParse(text.Text + e.KeyChar, out f); - if (b2 == false) - { - if (b1) - e.Handled = true; - else - e.Handled = false; - } - } + float f; + float oldf; + bool b1 = false, b2 = false; + b1 = float.TryParse(text.Text, out oldf); + b2 = float.TryParse(text.Text + e.KeyChar, out f); + if (b2) return; + e.Handled = b1; } } /// @@ -197,51 +182,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } - } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -258,22 +236,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -293,38 +259,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -337,23 +297,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmBufferAnalysisBSQ.cs b/FrmBufferAnalysisBSQ.cs index d887d47..e08dba3 100644 --- a/FrmBufferAnalysisBSQ.cs +++ b/FrmBufferAnalysisBSQ.cs @@ -28,13 +28,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } if (txtRadius.Text != "" && pt != null) @@ -127,34 +125,28 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) + string featNum = feats[i].GetFieldAsString("编号"); + if (feats[i].GetFieldDefn("标识器编号") != null) { - string featNum = feats[i].GetFieldAsString("编号"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - if (markList.Contains(featNum) == false) - { - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["编号"].Value = featNum; - row.Cells["图层名称"].Value = layername; - markList.Add(featNum); - } - else - { - return; - } + featNum = feats[i].GetFieldAsString("标识器编号"); + } + if (markList.Contains(featNum) == false) + { + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["编号"].Value = featNum; + row.Cells["图层名称"].Value = layername; + markList.Add(featNum); + } + else + { + return; } } } @@ -210,48 +202,42 @@ { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -263,22 +249,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -295,38 +269,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -340,23 +308,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmAddInstrument.cs b/FrmAddInstrument.cs index 683c3be..2c0ea07 100644 --- a/FrmAddInstrument.cs +++ b/FrmAddInstrument.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -25,6 +26,7 @@ panel1.Controls.Add(plane3DControl); plane3DControl.Dock = DockStyle.Fill; } + /// /// 添加按钮事件处理 /// @@ -32,37 +34,37 @@ /// private void btnAdd_Click(object sender, EventArgs e) { - if (feature != null) + if (feature == null) { - if (markerFeature != null) - { - markerFeature.Delete(); - } - GSOPoint3d pt = new GSOPoint3d(); - pt.X = point.X; - pt.Y = point.Y; - pt.Z = point.Z; - GSOGeoModel model = new GSOGeoModel(); - model.FilePath = modelPath; - model.Position = pt; - model.AltitudeMode = EnumAltitudeMode.Absolute; - feature = new GSOFeature(); - feature.Geometry = model; - modelLayer.AddFeature(feature); - if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - modelLayer.Save(); - } - globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); - globeControl1.Refresh(); - } - else - { - MessageBox.Show("请选中一个附属物!","提示"); + MessageBox.Show("请选中一个附属物!", "提示"); return; } - Close(); + + if (markerFeature != null) + { + markerFeature.Delete(); + } + GSOPoint3d pt = new GSOPoint3d(); + pt.X = point.X; + pt.Y = point.Y; + pt.Z = point.Z; + GSOGeoModel model = new GSOGeoModel(); + model.FilePath = modelPath; + model.Position = pt; + model.AltitudeMode = EnumAltitudeMode.Absolute; + feature = new GSOFeature(); + feature.Geometry = model; + modelLayer.AddFeature(feature); + if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + modelLayer.Save(); + } + globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); + globeControl1.Refresh(); + + Close(); } + /// /// 关闭按钮事件处理 /// diff --git a/FrmAddInstrument.designer.cs b/FrmAddInstrument.designer.cs index 2ebab1d..307d2c6 100644 --- a/FrmAddInstrument.designer.cs +++ b/FrmAddInstrument.designer.cs @@ -56,10 +56,9 @@ this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel1.Controls.Add(this.listBoxSize); this.groupPanel1.Controls.Add(this.label2); - this.groupPanel1.Location = new System.Drawing.Point(15, 58); - this.groupPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel1.Location = new System.Drawing.Point(11, 46); this.groupPanel1.Name = "groupPanel1"; - this.groupPanel1.Size = new System.Drawing.Size(611, 125); + this.groupPanel1.Size = new System.Drawing.Size(458, 100); // // // @@ -96,11 +95,10 @@ // listBoxSize // this.listBoxSize.FormattingEnabled = true; - this.listBoxSize.ItemHeight = 15; - this.listBoxSize.Location = new System.Drawing.Point(115, 11); - this.listBoxSize.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.listBoxSize.ItemHeight = 12; + this.listBoxSize.Location = new System.Drawing.Point(86, 9); this.listBoxSize.Name = "listBoxSize"; - this.listBoxSize.Size = new System.Drawing.Size(464, 94); + this.listBoxSize.Size = new System.Drawing.Size(349, 76); this.listBoxSize.TabIndex = 8; this.listBoxSize.SelectedIndexChanged += new System.EventHandler(this.listBoxSize_SelectedIndexChanged); // @@ -109,10 +107,9 @@ this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.Font = new System.Drawing.Font("宋体", 9F); - this.label2.Location = new System.Drawing.Point(20, 11); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Location = new System.Drawing.Point(15, 9); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(67, 15); + this.label2.Size = new System.Drawing.Size(53, 12); this.label2.TabIndex = 1; this.label2.Text = "附属物:"; // @@ -121,10 +118,9 @@ this.groupPanel2.CanvasColor = System.Drawing.SystemColors.Control; this.groupPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel2.Controls.Add(this.panel1); - this.groupPanel2.Location = new System.Drawing.Point(15, 190); - this.groupPanel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel2.Location = new System.Drawing.Point(11, 152); this.groupPanel2.Name = "groupPanel2"; - this.groupPanel2.Size = new System.Drawing.Size(611, 329); + this.groupPanel2.Size = new System.Drawing.Size(458, 263); // // // @@ -163,19 +159,17 @@ // this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(605, 302); + this.panel1.Size = new System.Drawing.Size(452, 241); this.panel1.TabIndex = 0; // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnCancel.Location = new System.Drawing.Point(527, 528); - this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnCancel.Location = new System.Drawing.Point(395, 422); this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(100, 29); + this.btnCancel.Size = new System.Drawing.Size(75, 23); this.btnCancel.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnCancel.TabIndex = 16; this.btnCancel.Text = "关闭"; @@ -185,10 +179,9 @@ // this.btnAdd.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnAdd.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnAdd.Location = new System.Drawing.Point(415, 528); - this.btnAdd.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnAdd.Location = new System.Drawing.Point(311, 422); this.btnAdd.Name = "btnAdd"; - this.btnAdd.Size = new System.Drawing.Size(100, 29); + this.btnAdd.Size = new System.Drawing.Size(75, 23); this.btnAdd.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnAdd.TabIndex = 15; this.btnAdd.Text = "添加"; @@ -202,10 +195,9 @@ this.groupPanel3.Controls.Add(this.textBoxXLon); this.groupPanel3.Controls.Add(this.labelLat); this.groupPanel3.Controls.Add(this.labelLon); - this.groupPanel3.Location = new System.Drawing.Point(15, 8); - this.groupPanel3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel3.Location = new System.Drawing.Point(11, 6); this.groupPanel3.Name = "groupPanel3"; - this.groupPanel3.Size = new System.Drawing.Size(611, 40); + this.groupPanel3.Size = new System.Drawing.Size(458, 32); // // // @@ -246,10 +238,9 @@ // this.textBoxXLat.Border.Class = "TextBoxBorder"; this.textBoxXLat.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLat.Location = new System.Drawing.Point(409, 2); - this.textBoxXLat.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLat.Location = new System.Drawing.Point(307, 2); this.textBoxXLat.Name = "textBoxXLat"; - this.textBoxXLat.Size = new System.Drawing.Size(171, 30); + this.textBoxXLat.Size = new System.Drawing.Size(128, 21); this.textBoxXLat.TabIndex = 3; this.textBoxXLat.TextChanged += new System.EventHandler(this.textBoxXLat_TextChanged); // @@ -260,10 +251,9 @@ // this.textBoxXLon.Border.Class = "TextBoxBorder"; this.textBoxXLon.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLon.Location = new System.Drawing.Point(115, 2); - this.textBoxXLon.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLon.Location = new System.Drawing.Point(86, 2); this.textBoxXLon.Name = "textBoxXLon"; - this.textBoxXLon.Size = new System.Drawing.Size(171, 30); + this.textBoxXLon.Size = new System.Drawing.Size(128, 21); this.textBoxXLon.TabIndex = 2; this.textBoxXLon.TextChanged += new System.EventHandler(this.textBoxXLon_TextChanged); // @@ -272,10 +262,9 @@ this.labelLat.AutoSize = true; this.labelLat.BackColor = System.Drawing.Color.Transparent; this.labelLat.Font = new System.Drawing.Font("宋体", 9F); - this.labelLat.Location = new System.Drawing.Point(329, 11); - this.labelLat.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLat.Location = new System.Drawing.Point(247, 9); this.labelLat.Name = "labelLat"; - this.labelLat.Size = new System.Drawing.Size(52, 15); + this.labelLat.Size = new System.Drawing.Size(41, 12); this.labelLat.TabIndex = 1; this.labelLat.Text = "纬度:"; // @@ -284,18 +273,17 @@ this.labelLon.AutoSize = true; this.labelLon.BackColor = System.Drawing.Color.Transparent; this.labelLon.Font = new System.Drawing.Font("宋体", 9F); - this.labelLon.Location = new System.Drawing.Point(20, 11); - this.labelLon.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLon.Location = new System.Drawing.Point(15, 9); this.labelLon.Name = "labelLon"; - this.labelLon.Size = new System.Drawing.Size(52, 15); + this.labelLon.Size = new System.Drawing.Size(41, 12); this.labelLon.TabIndex = 1; this.labelLon.Text = "经度:"; // // FrmAddInstrument // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(641, 564); + this.ClientSize = new System.Drawing.Size(481, 451); this.Controls.Add(this.groupPanel3); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnAdd); @@ -304,7 +292,6 @@ this.DoubleBuffered = true; this.EnableGlass = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.MaximizeBox = false; this.Name = "FrmAddInstrument"; this.ShowIcon = false; diff --git a/FrmBufferAnalysis.cs b/FrmBufferAnalysis.cs index ea8a4b7..30bab88 100644 --- a/FrmBufferAnalysis.cs +++ b/FrmBufferAnalysis.cs @@ -30,13 +30,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } } @@ -114,23 +112,17 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i=0;i @@ -145,25 +137,18 @@ { e.Handled = true; } - if (e.KeyChar == 46) //小数点 + if (e.KeyChar != 46) return; + if (text.Text.Length <= 0) + e.Handled = true; //小数点不能在第一位 + else //处理不规则的小数点 { - if (text.Text.Length <= 0) - e.Handled = true; //小数点不能在第一位 - else //处理不规则的小数点 - { - float f; - float oldf; - bool b1 = false, b2 = false; - b1 = float.TryParse(text.Text, out oldf); - b2 = float.TryParse(text.Text + e.KeyChar, out f); - if (b2 == false) - { - if (b1) - e.Handled = true; - else - e.Handled = false; - } - } + float f; + float oldf; + bool b1 = false, b2 = false; + b1 = float.TryParse(text.Text, out oldf); + b2 = float.TryParse(text.Text + e.KeyChar, out f); + if (b2) return; + e.Handled = b1; } } /// @@ -197,51 +182,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } - } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -258,22 +236,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -293,38 +259,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -337,23 +297,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmBufferAnalysisBSQ.cs b/FrmBufferAnalysisBSQ.cs index d887d47..e08dba3 100644 --- a/FrmBufferAnalysisBSQ.cs +++ b/FrmBufferAnalysisBSQ.cs @@ -28,13 +28,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } if (txtRadius.Text != "" && pt != null) @@ -127,34 +125,28 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) + string featNum = feats[i].GetFieldAsString("编号"); + if (feats[i].GetFieldDefn("标识器编号") != null) { - string featNum = feats[i].GetFieldAsString("编号"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - if (markList.Contains(featNum) == false) - { - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["编号"].Value = featNum; - row.Cells["图层名称"].Value = layername; - markList.Add(featNum); - } - else - { - return; - } + featNum = feats[i].GetFieldAsString("标识器编号"); + } + if (markList.Contains(featNum) == false) + { + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["编号"].Value = featNum; + row.Cells["图层名称"].Value = layername; + markList.Add(featNum); + } + else + { + return; } } } @@ -210,48 +202,42 @@ { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -263,22 +249,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -295,38 +269,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -340,23 +308,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index ac622c4..0a5d0b0 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -43,27 +43,28 @@ globeControl2.MouseClick += globeControl2_MouseClick; } - private void invalParam() + private bool InvalParam() { if (srcFeature == null || dscFeature == null) { MessageBox.Show("请选择要对比的管段!", "提示"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) { MessageBox.Show("请选择同种类型图层!"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || - srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) - return; + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || + srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) + return false; + return true; } private void buttonAnalysis_Click(object sender, EventArgs e) { - invalParam(); - + bool isvalid = InvalParam(); + if (!isvalid) return; dataGridViewX1.DataSource = null; lineFeatureCompare(srcFeature, dscFeature); } @@ -75,11 +76,13 @@ private void lineFeatureCompare(GSOFeature srcFeature, GSOFeature dscFeature) { GSOGeoPolyline3D srcLine = srcFeature.Geometry as GSOGeoPolyline3D; - double srcLineLength = srcLine.GetSpaceLength(false, 6378137); + if (srcLine == null) return; GSOGeoPolyline3D dscLine = dscFeature.Geometry as GSOGeoPolyline3D; + if (dscLine == null) return; + double srcLineLength = srcLine.GetSpaceLength(false, 6378137); double dscLineLength = dscLine.GetSpaceLength(false, 6378137); - + double horizonDistance, verticalDistance; ClassDoubleScreenCompare.CalculateDistance(srcLine, dscLine, out horizonDistance, @@ -136,26 +139,13 @@ globeControl2.Refresh(); } - public static void clearFeatureHighLight(GSOGlobeControl glb) - { - for (int i = 0; i < glb.Globe.Layers.Count; i++) - { - GSOLayer layer = glb.Globe.Layers[i]; - if (!(layer is GSOFeatureLayer)) continue; - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - feats[j].HighLight = false; - } - } - } void globeControl1_MouseClick(object sender, MouseEventArgs e) { if (globeControl1.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { @@ -181,10 +171,10 @@ void globeControl2_MouseClick(object sender, MouseEventArgs e) { - + if (globeControl2.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmAddInstrument.cs b/FrmAddInstrument.cs index 683c3be..2c0ea07 100644 --- a/FrmAddInstrument.cs +++ b/FrmAddInstrument.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -25,6 +26,7 @@ panel1.Controls.Add(plane3DControl); plane3DControl.Dock = DockStyle.Fill; } + /// /// 添加按钮事件处理 /// @@ -32,37 +34,37 @@ /// private void btnAdd_Click(object sender, EventArgs e) { - if (feature != null) + if (feature == null) { - if (markerFeature != null) - { - markerFeature.Delete(); - } - GSOPoint3d pt = new GSOPoint3d(); - pt.X = point.X; - pt.Y = point.Y; - pt.Z = point.Z; - GSOGeoModel model = new GSOGeoModel(); - model.FilePath = modelPath; - model.Position = pt; - model.AltitudeMode = EnumAltitudeMode.Absolute; - feature = new GSOFeature(); - feature.Geometry = model; - modelLayer.AddFeature(feature); - if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - modelLayer.Save(); - } - globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); - globeControl1.Refresh(); - } - else - { - MessageBox.Show("请选中一个附属物!","提示"); + MessageBox.Show("请选中一个附属物!", "提示"); return; } - Close(); + + if (markerFeature != null) + { + markerFeature.Delete(); + } + GSOPoint3d pt = new GSOPoint3d(); + pt.X = point.X; + pt.Y = point.Y; + pt.Z = point.Z; + GSOGeoModel model = new GSOGeoModel(); + model.FilePath = modelPath; + model.Position = pt; + model.AltitudeMode = EnumAltitudeMode.Absolute; + feature = new GSOFeature(); + feature.Geometry = model; + modelLayer.AddFeature(feature); + if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + modelLayer.Save(); + } + globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); + globeControl1.Refresh(); + + Close(); } + /// /// 关闭按钮事件处理 /// diff --git a/FrmAddInstrument.designer.cs b/FrmAddInstrument.designer.cs index 2ebab1d..307d2c6 100644 --- a/FrmAddInstrument.designer.cs +++ b/FrmAddInstrument.designer.cs @@ -56,10 +56,9 @@ this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel1.Controls.Add(this.listBoxSize); this.groupPanel1.Controls.Add(this.label2); - this.groupPanel1.Location = new System.Drawing.Point(15, 58); - this.groupPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel1.Location = new System.Drawing.Point(11, 46); this.groupPanel1.Name = "groupPanel1"; - this.groupPanel1.Size = new System.Drawing.Size(611, 125); + this.groupPanel1.Size = new System.Drawing.Size(458, 100); // // // @@ -96,11 +95,10 @@ // listBoxSize // this.listBoxSize.FormattingEnabled = true; - this.listBoxSize.ItemHeight = 15; - this.listBoxSize.Location = new System.Drawing.Point(115, 11); - this.listBoxSize.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.listBoxSize.ItemHeight = 12; + this.listBoxSize.Location = new System.Drawing.Point(86, 9); this.listBoxSize.Name = "listBoxSize"; - this.listBoxSize.Size = new System.Drawing.Size(464, 94); + this.listBoxSize.Size = new System.Drawing.Size(349, 76); this.listBoxSize.TabIndex = 8; this.listBoxSize.SelectedIndexChanged += new System.EventHandler(this.listBoxSize_SelectedIndexChanged); // @@ -109,10 +107,9 @@ this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.Font = new System.Drawing.Font("宋体", 9F); - this.label2.Location = new System.Drawing.Point(20, 11); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Location = new System.Drawing.Point(15, 9); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(67, 15); + this.label2.Size = new System.Drawing.Size(53, 12); this.label2.TabIndex = 1; this.label2.Text = "附属物:"; // @@ -121,10 +118,9 @@ this.groupPanel2.CanvasColor = System.Drawing.SystemColors.Control; this.groupPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel2.Controls.Add(this.panel1); - this.groupPanel2.Location = new System.Drawing.Point(15, 190); - this.groupPanel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel2.Location = new System.Drawing.Point(11, 152); this.groupPanel2.Name = "groupPanel2"; - this.groupPanel2.Size = new System.Drawing.Size(611, 329); + this.groupPanel2.Size = new System.Drawing.Size(458, 263); // // // @@ -163,19 +159,17 @@ // this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(605, 302); + this.panel1.Size = new System.Drawing.Size(452, 241); this.panel1.TabIndex = 0; // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnCancel.Location = new System.Drawing.Point(527, 528); - this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnCancel.Location = new System.Drawing.Point(395, 422); this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(100, 29); + this.btnCancel.Size = new System.Drawing.Size(75, 23); this.btnCancel.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnCancel.TabIndex = 16; this.btnCancel.Text = "关闭"; @@ -185,10 +179,9 @@ // this.btnAdd.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnAdd.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnAdd.Location = new System.Drawing.Point(415, 528); - this.btnAdd.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnAdd.Location = new System.Drawing.Point(311, 422); this.btnAdd.Name = "btnAdd"; - this.btnAdd.Size = new System.Drawing.Size(100, 29); + this.btnAdd.Size = new System.Drawing.Size(75, 23); this.btnAdd.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnAdd.TabIndex = 15; this.btnAdd.Text = "添加"; @@ -202,10 +195,9 @@ this.groupPanel3.Controls.Add(this.textBoxXLon); this.groupPanel3.Controls.Add(this.labelLat); this.groupPanel3.Controls.Add(this.labelLon); - this.groupPanel3.Location = new System.Drawing.Point(15, 8); - this.groupPanel3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel3.Location = new System.Drawing.Point(11, 6); this.groupPanel3.Name = "groupPanel3"; - this.groupPanel3.Size = new System.Drawing.Size(611, 40); + this.groupPanel3.Size = new System.Drawing.Size(458, 32); // // // @@ -246,10 +238,9 @@ // this.textBoxXLat.Border.Class = "TextBoxBorder"; this.textBoxXLat.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLat.Location = new System.Drawing.Point(409, 2); - this.textBoxXLat.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLat.Location = new System.Drawing.Point(307, 2); this.textBoxXLat.Name = "textBoxXLat"; - this.textBoxXLat.Size = new System.Drawing.Size(171, 30); + this.textBoxXLat.Size = new System.Drawing.Size(128, 21); this.textBoxXLat.TabIndex = 3; this.textBoxXLat.TextChanged += new System.EventHandler(this.textBoxXLat_TextChanged); // @@ -260,10 +251,9 @@ // this.textBoxXLon.Border.Class = "TextBoxBorder"; this.textBoxXLon.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLon.Location = new System.Drawing.Point(115, 2); - this.textBoxXLon.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLon.Location = new System.Drawing.Point(86, 2); this.textBoxXLon.Name = "textBoxXLon"; - this.textBoxXLon.Size = new System.Drawing.Size(171, 30); + this.textBoxXLon.Size = new System.Drawing.Size(128, 21); this.textBoxXLon.TabIndex = 2; this.textBoxXLon.TextChanged += new System.EventHandler(this.textBoxXLon_TextChanged); // @@ -272,10 +262,9 @@ this.labelLat.AutoSize = true; this.labelLat.BackColor = System.Drawing.Color.Transparent; this.labelLat.Font = new System.Drawing.Font("宋体", 9F); - this.labelLat.Location = new System.Drawing.Point(329, 11); - this.labelLat.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLat.Location = new System.Drawing.Point(247, 9); this.labelLat.Name = "labelLat"; - this.labelLat.Size = new System.Drawing.Size(52, 15); + this.labelLat.Size = new System.Drawing.Size(41, 12); this.labelLat.TabIndex = 1; this.labelLat.Text = "纬度:"; // @@ -284,18 +273,17 @@ this.labelLon.AutoSize = true; this.labelLon.BackColor = System.Drawing.Color.Transparent; this.labelLon.Font = new System.Drawing.Font("宋体", 9F); - this.labelLon.Location = new System.Drawing.Point(20, 11); - this.labelLon.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLon.Location = new System.Drawing.Point(15, 9); this.labelLon.Name = "labelLon"; - this.labelLon.Size = new System.Drawing.Size(52, 15); + this.labelLon.Size = new System.Drawing.Size(41, 12); this.labelLon.TabIndex = 1; this.labelLon.Text = "经度:"; // // FrmAddInstrument // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(641, 564); + this.ClientSize = new System.Drawing.Size(481, 451); this.Controls.Add(this.groupPanel3); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnAdd); @@ -304,7 +292,6 @@ this.DoubleBuffered = true; this.EnableGlass = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.MaximizeBox = false; this.Name = "FrmAddInstrument"; this.ShowIcon = false; diff --git a/FrmBufferAnalysis.cs b/FrmBufferAnalysis.cs index ea8a4b7..30bab88 100644 --- a/FrmBufferAnalysis.cs +++ b/FrmBufferAnalysis.cs @@ -30,13 +30,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } } @@ -114,23 +112,17 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i=0;i @@ -145,25 +137,18 @@ { e.Handled = true; } - if (e.KeyChar == 46) //小数点 + if (e.KeyChar != 46) return; + if (text.Text.Length <= 0) + e.Handled = true; //小数点不能在第一位 + else //处理不规则的小数点 { - if (text.Text.Length <= 0) - e.Handled = true; //小数点不能在第一位 - else //处理不规则的小数点 - { - float f; - float oldf; - bool b1 = false, b2 = false; - b1 = float.TryParse(text.Text, out oldf); - b2 = float.TryParse(text.Text + e.KeyChar, out f); - if (b2 == false) - { - if (b1) - e.Handled = true; - else - e.Handled = false; - } - } + float f; + float oldf; + bool b1 = false, b2 = false; + b1 = float.TryParse(text.Text, out oldf); + b2 = float.TryParse(text.Text + e.KeyChar, out f); + if (b2) return; + e.Handled = b1; } } /// @@ -197,51 +182,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } - } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -258,22 +236,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -293,38 +259,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -337,23 +297,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmBufferAnalysisBSQ.cs b/FrmBufferAnalysisBSQ.cs index d887d47..e08dba3 100644 --- a/FrmBufferAnalysisBSQ.cs +++ b/FrmBufferAnalysisBSQ.cs @@ -28,13 +28,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } if (txtRadius.Text != "" && pt != null) @@ -127,34 +125,28 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) + string featNum = feats[i].GetFieldAsString("编号"); + if (feats[i].GetFieldDefn("标识器编号") != null) { - string featNum = feats[i].GetFieldAsString("编号"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - if (markList.Contains(featNum) == false) - { - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["编号"].Value = featNum; - row.Cells["图层名称"].Value = layername; - markList.Add(featNum); - } - else - { - return; - } + featNum = feats[i].GetFieldAsString("标识器编号"); + } + if (markList.Contains(featNum) == false) + { + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["编号"].Value = featNum; + row.Cells["图层名称"].Value = layername; + markList.Add(featNum); + } + else + { + return; } } } @@ -210,48 +202,42 @@ { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -263,22 +249,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -295,38 +269,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -340,23 +308,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index ac622c4..0a5d0b0 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -43,27 +43,28 @@ globeControl2.MouseClick += globeControl2_MouseClick; } - private void invalParam() + private bool InvalParam() { if (srcFeature == null || dscFeature == null) { MessageBox.Show("请选择要对比的管段!", "提示"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) { MessageBox.Show("请选择同种类型图层!"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || - srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) - return; + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || + srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) + return false; + return true; } private void buttonAnalysis_Click(object sender, EventArgs e) { - invalParam(); - + bool isvalid = InvalParam(); + if (!isvalid) return; dataGridViewX1.DataSource = null; lineFeatureCompare(srcFeature, dscFeature); } @@ -75,11 +76,13 @@ private void lineFeatureCompare(GSOFeature srcFeature, GSOFeature dscFeature) { GSOGeoPolyline3D srcLine = srcFeature.Geometry as GSOGeoPolyline3D; - double srcLineLength = srcLine.GetSpaceLength(false, 6378137); + if (srcLine == null) return; GSOGeoPolyline3D dscLine = dscFeature.Geometry as GSOGeoPolyline3D; + if (dscLine == null) return; + double srcLineLength = srcLine.GetSpaceLength(false, 6378137); double dscLineLength = dscLine.GetSpaceLength(false, 6378137); - + double horizonDistance, verticalDistance; ClassDoubleScreenCompare.CalculateDistance(srcLine, dscLine, out horizonDistance, @@ -136,26 +139,13 @@ globeControl2.Refresh(); } - public static void clearFeatureHighLight(GSOGlobeControl glb) - { - for (int i = 0; i < glb.Globe.Layers.Count; i++) - { - GSOLayer layer = glb.Globe.Layers[i]; - if (!(layer is GSOFeatureLayer)) continue; - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - feats[j].HighLight = false; - } - } - } void globeControl1_MouseClick(object sender, MouseEventArgs e) { if (globeControl1.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { @@ -181,10 +171,10 @@ void globeControl2_MouseClick(object sender, MouseEventArgs e) { - + if (globeControl2.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { diff --git a/FrmGBJC.cs b/FrmGBJC.cs index d7acc30..e103403 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -21,8 +21,6 @@ { this.globeControl1 = _globeControl1; this.globeControl2 = _globeControl2; - //DoublePanelAnalysis.globeControl1 = globeControl1; - //DoublePanelAnalysis.globeControl2 = globeControl2; this.layerTemp = _layerTemp; this.layerTemp2 = _layerTemp2; InitializeComponent(); @@ -119,7 +117,7 @@ if (scLayer == null || sgLayer == null) return; - DataTable dt = DoublePanelAnalysis.lineFeatureCompare(scLayer, sgLayer, + DataTable dt = DoublePanelAnalysis.CompareLayerByRoad(scLayer, sgLayer, comboBoxRoad.SelectedItem.ToString(), globeControl1, globeControl2); FrmGBJCresult rs = new FrmGBJCresult(globeControl1, globeControl2, dt); diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmAddInstrument.cs b/FrmAddInstrument.cs index 683c3be..2c0ea07 100644 --- a/FrmAddInstrument.cs +++ b/FrmAddInstrument.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -25,6 +26,7 @@ panel1.Controls.Add(plane3DControl); plane3DControl.Dock = DockStyle.Fill; } + /// /// 添加按钮事件处理 /// @@ -32,37 +34,37 @@ /// private void btnAdd_Click(object sender, EventArgs e) { - if (feature != null) + if (feature == null) { - if (markerFeature != null) - { - markerFeature.Delete(); - } - GSOPoint3d pt = new GSOPoint3d(); - pt.X = point.X; - pt.Y = point.Y; - pt.Z = point.Z; - GSOGeoModel model = new GSOGeoModel(); - model.FilePath = modelPath; - model.Position = pt; - model.AltitudeMode = EnumAltitudeMode.Absolute; - feature = new GSOFeature(); - feature.Geometry = model; - modelLayer.AddFeature(feature); - if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - modelLayer.Save(); - } - globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); - globeControl1.Refresh(); - } - else - { - MessageBox.Show("请选中一个附属物!","提示"); + MessageBox.Show("请选中一个附属物!", "提示"); return; } - Close(); + + if (markerFeature != null) + { + markerFeature.Delete(); + } + GSOPoint3d pt = new GSOPoint3d(); + pt.X = point.X; + pt.Y = point.Y; + pt.Z = point.Z; + GSOGeoModel model = new GSOGeoModel(); + model.FilePath = modelPath; + model.Position = pt; + model.AltitudeMode = EnumAltitudeMode.Absolute; + feature = new GSOFeature(); + feature.Geometry = model; + modelLayer.AddFeature(feature); + if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + modelLayer.Save(); + } + globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); + globeControl1.Refresh(); + + Close(); } + /// /// 关闭按钮事件处理 /// diff --git a/FrmAddInstrument.designer.cs b/FrmAddInstrument.designer.cs index 2ebab1d..307d2c6 100644 --- a/FrmAddInstrument.designer.cs +++ b/FrmAddInstrument.designer.cs @@ -56,10 +56,9 @@ this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel1.Controls.Add(this.listBoxSize); this.groupPanel1.Controls.Add(this.label2); - this.groupPanel1.Location = new System.Drawing.Point(15, 58); - this.groupPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel1.Location = new System.Drawing.Point(11, 46); this.groupPanel1.Name = "groupPanel1"; - this.groupPanel1.Size = new System.Drawing.Size(611, 125); + this.groupPanel1.Size = new System.Drawing.Size(458, 100); // // // @@ -96,11 +95,10 @@ // listBoxSize // this.listBoxSize.FormattingEnabled = true; - this.listBoxSize.ItemHeight = 15; - this.listBoxSize.Location = new System.Drawing.Point(115, 11); - this.listBoxSize.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.listBoxSize.ItemHeight = 12; + this.listBoxSize.Location = new System.Drawing.Point(86, 9); this.listBoxSize.Name = "listBoxSize"; - this.listBoxSize.Size = new System.Drawing.Size(464, 94); + this.listBoxSize.Size = new System.Drawing.Size(349, 76); this.listBoxSize.TabIndex = 8; this.listBoxSize.SelectedIndexChanged += new System.EventHandler(this.listBoxSize_SelectedIndexChanged); // @@ -109,10 +107,9 @@ this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.Font = new System.Drawing.Font("宋体", 9F); - this.label2.Location = new System.Drawing.Point(20, 11); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Location = new System.Drawing.Point(15, 9); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(67, 15); + this.label2.Size = new System.Drawing.Size(53, 12); this.label2.TabIndex = 1; this.label2.Text = "附属物:"; // @@ -121,10 +118,9 @@ this.groupPanel2.CanvasColor = System.Drawing.SystemColors.Control; this.groupPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel2.Controls.Add(this.panel1); - this.groupPanel2.Location = new System.Drawing.Point(15, 190); - this.groupPanel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel2.Location = new System.Drawing.Point(11, 152); this.groupPanel2.Name = "groupPanel2"; - this.groupPanel2.Size = new System.Drawing.Size(611, 329); + this.groupPanel2.Size = new System.Drawing.Size(458, 263); // // // @@ -163,19 +159,17 @@ // this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(605, 302); + this.panel1.Size = new System.Drawing.Size(452, 241); this.panel1.TabIndex = 0; // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnCancel.Location = new System.Drawing.Point(527, 528); - this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnCancel.Location = new System.Drawing.Point(395, 422); this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(100, 29); + this.btnCancel.Size = new System.Drawing.Size(75, 23); this.btnCancel.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnCancel.TabIndex = 16; this.btnCancel.Text = "关闭"; @@ -185,10 +179,9 @@ // this.btnAdd.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnAdd.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnAdd.Location = new System.Drawing.Point(415, 528); - this.btnAdd.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnAdd.Location = new System.Drawing.Point(311, 422); this.btnAdd.Name = "btnAdd"; - this.btnAdd.Size = new System.Drawing.Size(100, 29); + this.btnAdd.Size = new System.Drawing.Size(75, 23); this.btnAdd.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnAdd.TabIndex = 15; this.btnAdd.Text = "添加"; @@ -202,10 +195,9 @@ this.groupPanel3.Controls.Add(this.textBoxXLon); this.groupPanel3.Controls.Add(this.labelLat); this.groupPanel3.Controls.Add(this.labelLon); - this.groupPanel3.Location = new System.Drawing.Point(15, 8); - this.groupPanel3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel3.Location = new System.Drawing.Point(11, 6); this.groupPanel3.Name = "groupPanel3"; - this.groupPanel3.Size = new System.Drawing.Size(611, 40); + this.groupPanel3.Size = new System.Drawing.Size(458, 32); // // // @@ -246,10 +238,9 @@ // this.textBoxXLat.Border.Class = "TextBoxBorder"; this.textBoxXLat.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLat.Location = new System.Drawing.Point(409, 2); - this.textBoxXLat.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLat.Location = new System.Drawing.Point(307, 2); this.textBoxXLat.Name = "textBoxXLat"; - this.textBoxXLat.Size = new System.Drawing.Size(171, 30); + this.textBoxXLat.Size = new System.Drawing.Size(128, 21); this.textBoxXLat.TabIndex = 3; this.textBoxXLat.TextChanged += new System.EventHandler(this.textBoxXLat_TextChanged); // @@ -260,10 +251,9 @@ // this.textBoxXLon.Border.Class = "TextBoxBorder"; this.textBoxXLon.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLon.Location = new System.Drawing.Point(115, 2); - this.textBoxXLon.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLon.Location = new System.Drawing.Point(86, 2); this.textBoxXLon.Name = "textBoxXLon"; - this.textBoxXLon.Size = new System.Drawing.Size(171, 30); + this.textBoxXLon.Size = new System.Drawing.Size(128, 21); this.textBoxXLon.TabIndex = 2; this.textBoxXLon.TextChanged += new System.EventHandler(this.textBoxXLon_TextChanged); // @@ -272,10 +262,9 @@ this.labelLat.AutoSize = true; this.labelLat.BackColor = System.Drawing.Color.Transparent; this.labelLat.Font = new System.Drawing.Font("宋体", 9F); - this.labelLat.Location = new System.Drawing.Point(329, 11); - this.labelLat.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLat.Location = new System.Drawing.Point(247, 9); this.labelLat.Name = "labelLat"; - this.labelLat.Size = new System.Drawing.Size(52, 15); + this.labelLat.Size = new System.Drawing.Size(41, 12); this.labelLat.TabIndex = 1; this.labelLat.Text = "纬度:"; // @@ -284,18 +273,17 @@ this.labelLon.AutoSize = true; this.labelLon.BackColor = System.Drawing.Color.Transparent; this.labelLon.Font = new System.Drawing.Font("宋体", 9F); - this.labelLon.Location = new System.Drawing.Point(20, 11); - this.labelLon.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLon.Location = new System.Drawing.Point(15, 9); this.labelLon.Name = "labelLon"; - this.labelLon.Size = new System.Drawing.Size(52, 15); + this.labelLon.Size = new System.Drawing.Size(41, 12); this.labelLon.TabIndex = 1; this.labelLon.Text = "经度:"; // // FrmAddInstrument // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(641, 564); + this.ClientSize = new System.Drawing.Size(481, 451); this.Controls.Add(this.groupPanel3); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnAdd); @@ -304,7 +292,6 @@ this.DoubleBuffered = true; this.EnableGlass = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.MaximizeBox = false; this.Name = "FrmAddInstrument"; this.ShowIcon = false; diff --git a/FrmBufferAnalysis.cs b/FrmBufferAnalysis.cs index ea8a4b7..30bab88 100644 --- a/FrmBufferAnalysis.cs +++ b/FrmBufferAnalysis.cs @@ -30,13 +30,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } } @@ -114,23 +112,17 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i=0;i @@ -145,25 +137,18 @@ { e.Handled = true; } - if (e.KeyChar == 46) //小数点 + if (e.KeyChar != 46) return; + if (text.Text.Length <= 0) + e.Handled = true; //小数点不能在第一位 + else //处理不规则的小数点 { - if (text.Text.Length <= 0) - e.Handled = true; //小数点不能在第一位 - else //处理不规则的小数点 - { - float f; - float oldf; - bool b1 = false, b2 = false; - b1 = float.TryParse(text.Text, out oldf); - b2 = float.TryParse(text.Text + e.KeyChar, out f); - if (b2 == false) - { - if (b1) - e.Handled = true; - else - e.Handled = false; - } - } + float f; + float oldf; + bool b1 = false, b2 = false; + b1 = float.TryParse(text.Text, out oldf); + b2 = float.TryParse(text.Text + e.KeyChar, out f); + if (b2) return; + e.Handled = b1; } } /// @@ -197,51 +182,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } - } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -258,22 +236,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -293,38 +259,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -337,23 +297,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmBufferAnalysisBSQ.cs b/FrmBufferAnalysisBSQ.cs index d887d47..e08dba3 100644 --- a/FrmBufferAnalysisBSQ.cs +++ b/FrmBufferAnalysisBSQ.cs @@ -28,13 +28,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } if (txtRadius.Text != "" && pt != null) @@ -127,34 +125,28 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) + string featNum = feats[i].GetFieldAsString("编号"); + if (feats[i].GetFieldDefn("标识器编号") != null) { - string featNum = feats[i].GetFieldAsString("编号"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - if (markList.Contains(featNum) == false) - { - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["编号"].Value = featNum; - row.Cells["图层名称"].Value = layername; - markList.Add(featNum); - } - else - { - return; - } + featNum = feats[i].GetFieldAsString("标识器编号"); + } + if (markList.Contains(featNum) == false) + { + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["编号"].Value = featNum; + row.Cells["图层名称"].Value = layername; + markList.Add(featNum); + } + else + { + return; } } } @@ -210,48 +202,42 @@ { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -263,22 +249,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -295,38 +269,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -340,23 +308,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index ac622c4..0a5d0b0 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -43,27 +43,28 @@ globeControl2.MouseClick += globeControl2_MouseClick; } - private void invalParam() + private bool InvalParam() { if (srcFeature == null || dscFeature == null) { MessageBox.Show("请选择要对比的管段!", "提示"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) { MessageBox.Show("请选择同种类型图层!"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || - srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) - return; + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || + srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) + return false; + return true; } private void buttonAnalysis_Click(object sender, EventArgs e) { - invalParam(); - + bool isvalid = InvalParam(); + if (!isvalid) return; dataGridViewX1.DataSource = null; lineFeatureCompare(srcFeature, dscFeature); } @@ -75,11 +76,13 @@ private void lineFeatureCompare(GSOFeature srcFeature, GSOFeature dscFeature) { GSOGeoPolyline3D srcLine = srcFeature.Geometry as GSOGeoPolyline3D; - double srcLineLength = srcLine.GetSpaceLength(false, 6378137); + if (srcLine == null) return; GSOGeoPolyline3D dscLine = dscFeature.Geometry as GSOGeoPolyline3D; + if (dscLine == null) return; + double srcLineLength = srcLine.GetSpaceLength(false, 6378137); double dscLineLength = dscLine.GetSpaceLength(false, 6378137); - + double horizonDistance, verticalDistance; ClassDoubleScreenCompare.CalculateDistance(srcLine, dscLine, out horizonDistance, @@ -136,26 +139,13 @@ globeControl2.Refresh(); } - public static void clearFeatureHighLight(GSOGlobeControl glb) - { - for (int i = 0; i < glb.Globe.Layers.Count; i++) - { - GSOLayer layer = glb.Globe.Layers[i]; - if (!(layer is GSOFeatureLayer)) continue; - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - feats[j].HighLight = false; - } - } - } void globeControl1_MouseClick(object sender, MouseEventArgs e) { if (globeControl1.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { @@ -181,10 +171,10 @@ void globeControl2_MouseClick(object sender, MouseEventArgs e) { - + if (globeControl2.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { diff --git a/FrmGBJC.cs b/FrmGBJC.cs index d7acc30..e103403 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -21,8 +21,6 @@ { this.globeControl1 = _globeControl1; this.globeControl2 = _globeControl2; - //DoublePanelAnalysis.globeControl1 = globeControl1; - //DoublePanelAnalysis.globeControl2 = globeControl2; this.layerTemp = _layerTemp; this.layerTemp2 = _layerTemp2; InitializeComponent(); @@ -119,7 +117,7 @@ if (scLayer == null || sgLayer == null) return; - DataTable dt = DoublePanelAnalysis.lineFeatureCompare(scLayer, sgLayer, + DataTable dt = DoublePanelAnalysis.CompareLayerByRoad(scLayer, sgLayer, comboBoxRoad.SelectedItem.ToString(), globeControl1, globeControl2); FrmGBJCresult rs = new FrmGBJCresult(globeControl1, globeControl2, dt); diff --git a/MainFrm.cs b/MainFrm.cs index 6f9ec57..7c21cae 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -3365,9 +3365,9 @@ return dismarker.Position; } - #region wxl重构未完成 + #region wxl /// - /// 碰撞分析 + /// wxl重构,碰撞分析 /// /// /// @@ -3423,7 +3423,7 @@ } /// - /// 垂直净距分析,暂时没有在地图上标注 + /// wxl重构,垂直净距分析 /// /// /// @@ -3533,7 +3533,6 @@ featLenth.Clear(); listBox3.Items.Clear(); layerTemp.RemoveAllFeature(); - //polygonJingJuAnalysises.RemoveAll(); clearFeatureHighLight(); dataGridViewX9.Rows.Clear(); Cursor = Cursors.WaitCursor; @@ -3572,6 +3571,7 @@ /// private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1,selectedFeature, _pipelineLayerNames, dis); if (featureMap == null) @@ -4281,10 +4281,9 @@ dataGridViewX4.Rows.Clear(); dataGridViewX5.Rows.Clear(); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(comboBoxEx2.SelectedItem.ToString()); - if (layer == null) - return; - + GSOFeatureLayer flayer = layer as GSOFeatureLayer; + if (flayer == null) return; GSOFeatures feats = flayer.GetAllFeatures(); for (int i = 0; i < feats.Length; i++) { @@ -7414,13 +7413,17 @@ GSOFeature f; GSOLayer layer; globeControl1.Globe.GetSelectObject(i, out f, out layer); - if (f == null) continue; - f.Delete(); - if (layer != null) - globeControl1.Globe.AddToEditHistroy(layer, f, EnumEditType.Delete); +// if (f == null) continue; +// f.Delete(); +// if (layer != null) +// globeControl1.Globe.AddToEditHistroy(layer, f, EnumEditType.Delete); + FeatureTools.DeleteFeature(f); + globeControl1.Refresh(); + } + MessageBox.Show("删除成功!", "提示"); globeControl1.Globe.Action = EnumAction3D.ActionNull; } diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmAddInstrument.cs b/FrmAddInstrument.cs index 683c3be..2c0ea07 100644 --- a/FrmAddInstrument.cs +++ b/FrmAddInstrument.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -25,6 +26,7 @@ panel1.Controls.Add(plane3DControl); plane3DControl.Dock = DockStyle.Fill; } + /// /// 添加按钮事件处理 /// @@ -32,37 +34,37 @@ /// private void btnAdd_Click(object sender, EventArgs e) { - if (feature != null) + if (feature == null) { - if (markerFeature != null) - { - markerFeature.Delete(); - } - GSOPoint3d pt = new GSOPoint3d(); - pt.X = point.X; - pt.Y = point.Y; - pt.Z = point.Z; - GSOGeoModel model = new GSOGeoModel(); - model.FilePath = modelPath; - model.Position = pt; - model.AltitudeMode = EnumAltitudeMode.Absolute; - feature = new GSOFeature(); - feature.Geometry = model; - modelLayer.AddFeature(feature); - if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - modelLayer.Save(); - } - globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); - globeControl1.Refresh(); - } - else - { - MessageBox.Show("请选中一个附属物!","提示"); + MessageBox.Show("请选中一个附属物!", "提示"); return; } - Close(); + + if (markerFeature != null) + { + markerFeature.Delete(); + } + GSOPoint3d pt = new GSOPoint3d(); + pt.X = point.X; + pt.Y = point.Y; + pt.Z = point.Z; + GSOGeoModel model = new GSOGeoModel(); + model.FilePath = modelPath; + model.Position = pt; + model.AltitudeMode = EnumAltitudeMode.Absolute; + feature = new GSOFeature(); + feature.Geometry = model; + modelLayer.AddFeature(feature); + if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + modelLayer.Save(); + } + globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); + globeControl1.Refresh(); + + Close(); } + /// /// 关闭按钮事件处理 /// diff --git a/FrmAddInstrument.designer.cs b/FrmAddInstrument.designer.cs index 2ebab1d..307d2c6 100644 --- a/FrmAddInstrument.designer.cs +++ b/FrmAddInstrument.designer.cs @@ -56,10 +56,9 @@ this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel1.Controls.Add(this.listBoxSize); this.groupPanel1.Controls.Add(this.label2); - this.groupPanel1.Location = new System.Drawing.Point(15, 58); - this.groupPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel1.Location = new System.Drawing.Point(11, 46); this.groupPanel1.Name = "groupPanel1"; - this.groupPanel1.Size = new System.Drawing.Size(611, 125); + this.groupPanel1.Size = new System.Drawing.Size(458, 100); // // // @@ -96,11 +95,10 @@ // listBoxSize // this.listBoxSize.FormattingEnabled = true; - this.listBoxSize.ItemHeight = 15; - this.listBoxSize.Location = new System.Drawing.Point(115, 11); - this.listBoxSize.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.listBoxSize.ItemHeight = 12; + this.listBoxSize.Location = new System.Drawing.Point(86, 9); this.listBoxSize.Name = "listBoxSize"; - this.listBoxSize.Size = new System.Drawing.Size(464, 94); + this.listBoxSize.Size = new System.Drawing.Size(349, 76); this.listBoxSize.TabIndex = 8; this.listBoxSize.SelectedIndexChanged += new System.EventHandler(this.listBoxSize_SelectedIndexChanged); // @@ -109,10 +107,9 @@ this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.Font = new System.Drawing.Font("宋体", 9F); - this.label2.Location = new System.Drawing.Point(20, 11); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Location = new System.Drawing.Point(15, 9); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(67, 15); + this.label2.Size = new System.Drawing.Size(53, 12); this.label2.TabIndex = 1; this.label2.Text = "附属物:"; // @@ -121,10 +118,9 @@ this.groupPanel2.CanvasColor = System.Drawing.SystemColors.Control; this.groupPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel2.Controls.Add(this.panel1); - this.groupPanel2.Location = new System.Drawing.Point(15, 190); - this.groupPanel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel2.Location = new System.Drawing.Point(11, 152); this.groupPanel2.Name = "groupPanel2"; - this.groupPanel2.Size = new System.Drawing.Size(611, 329); + this.groupPanel2.Size = new System.Drawing.Size(458, 263); // // // @@ -163,19 +159,17 @@ // this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(605, 302); + this.panel1.Size = new System.Drawing.Size(452, 241); this.panel1.TabIndex = 0; // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnCancel.Location = new System.Drawing.Point(527, 528); - this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnCancel.Location = new System.Drawing.Point(395, 422); this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(100, 29); + this.btnCancel.Size = new System.Drawing.Size(75, 23); this.btnCancel.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnCancel.TabIndex = 16; this.btnCancel.Text = "关闭"; @@ -185,10 +179,9 @@ // this.btnAdd.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnAdd.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnAdd.Location = new System.Drawing.Point(415, 528); - this.btnAdd.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnAdd.Location = new System.Drawing.Point(311, 422); this.btnAdd.Name = "btnAdd"; - this.btnAdd.Size = new System.Drawing.Size(100, 29); + this.btnAdd.Size = new System.Drawing.Size(75, 23); this.btnAdd.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnAdd.TabIndex = 15; this.btnAdd.Text = "添加"; @@ -202,10 +195,9 @@ this.groupPanel3.Controls.Add(this.textBoxXLon); this.groupPanel3.Controls.Add(this.labelLat); this.groupPanel3.Controls.Add(this.labelLon); - this.groupPanel3.Location = new System.Drawing.Point(15, 8); - this.groupPanel3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel3.Location = new System.Drawing.Point(11, 6); this.groupPanel3.Name = "groupPanel3"; - this.groupPanel3.Size = new System.Drawing.Size(611, 40); + this.groupPanel3.Size = new System.Drawing.Size(458, 32); // // // @@ -246,10 +238,9 @@ // this.textBoxXLat.Border.Class = "TextBoxBorder"; this.textBoxXLat.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLat.Location = new System.Drawing.Point(409, 2); - this.textBoxXLat.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLat.Location = new System.Drawing.Point(307, 2); this.textBoxXLat.Name = "textBoxXLat"; - this.textBoxXLat.Size = new System.Drawing.Size(171, 30); + this.textBoxXLat.Size = new System.Drawing.Size(128, 21); this.textBoxXLat.TabIndex = 3; this.textBoxXLat.TextChanged += new System.EventHandler(this.textBoxXLat_TextChanged); // @@ -260,10 +251,9 @@ // this.textBoxXLon.Border.Class = "TextBoxBorder"; this.textBoxXLon.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLon.Location = new System.Drawing.Point(115, 2); - this.textBoxXLon.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLon.Location = new System.Drawing.Point(86, 2); this.textBoxXLon.Name = "textBoxXLon"; - this.textBoxXLon.Size = new System.Drawing.Size(171, 30); + this.textBoxXLon.Size = new System.Drawing.Size(128, 21); this.textBoxXLon.TabIndex = 2; this.textBoxXLon.TextChanged += new System.EventHandler(this.textBoxXLon_TextChanged); // @@ -272,10 +262,9 @@ this.labelLat.AutoSize = true; this.labelLat.BackColor = System.Drawing.Color.Transparent; this.labelLat.Font = new System.Drawing.Font("宋体", 9F); - this.labelLat.Location = new System.Drawing.Point(329, 11); - this.labelLat.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLat.Location = new System.Drawing.Point(247, 9); this.labelLat.Name = "labelLat"; - this.labelLat.Size = new System.Drawing.Size(52, 15); + this.labelLat.Size = new System.Drawing.Size(41, 12); this.labelLat.TabIndex = 1; this.labelLat.Text = "纬度:"; // @@ -284,18 +273,17 @@ this.labelLon.AutoSize = true; this.labelLon.BackColor = System.Drawing.Color.Transparent; this.labelLon.Font = new System.Drawing.Font("宋体", 9F); - this.labelLon.Location = new System.Drawing.Point(20, 11); - this.labelLon.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLon.Location = new System.Drawing.Point(15, 9); this.labelLon.Name = "labelLon"; - this.labelLon.Size = new System.Drawing.Size(52, 15); + this.labelLon.Size = new System.Drawing.Size(41, 12); this.labelLon.TabIndex = 1; this.labelLon.Text = "经度:"; // // FrmAddInstrument // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(641, 564); + this.ClientSize = new System.Drawing.Size(481, 451); this.Controls.Add(this.groupPanel3); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnAdd); @@ -304,7 +292,6 @@ this.DoubleBuffered = true; this.EnableGlass = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.MaximizeBox = false; this.Name = "FrmAddInstrument"; this.ShowIcon = false; diff --git a/FrmBufferAnalysis.cs b/FrmBufferAnalysis.cs index ea8a4b7..30bab88 100644 --- a/FrmBufferAnalysis.cs +++ b/FrmBufferAnalysis.cs @@ -30,13 +30,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } } @@ -114,23 +112,17 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i=0;i @@ -145,25 +137,18 @@ { e.Handled = true; } - if (e.KeyChar == 46) //小数点 + if (e.KeyChar != 46) return; + if (text.Text.Length <= 0) + e.Handled = true; //小数点不能在第一位 + else //处理不规则的小数点 { - if (text.Text.Length <= 0) - e.Handled = true; //小数点不能在第一位 - else //处理不规则的小数点 - { - float f; - float oldf; - bool b1 = false, b2 = false; - b1 = float.TryParse(text.Text, out oldf); - b2 = float.TryParse(text.Text + e.KeyChar, out f); - if (b2 == false) - { - if (b1) - e.Handled = true; - else - e.Handled = false; - } - } + float f; + float oldf; + bool b1 = false, b2 = false; + b1 = float.TryParse(text.Text, out oldf); + b2 = float.TryParse(text.Text + e.KeyChar, out f); + if (b2) return; + e.Handled = b1; } } /// @@ -197,51 +182,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } - } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -258,22 +236,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -293,38 +259,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -337,23 +297,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmBufferAnalysisBSQ.cs b/FrmBufferAnalysisBSQ.cs index d887d47..e08dba3 100644 --- a/FrmBufferAnalysisBSQ.cs +++ b/FrmBufferAnalysisBSQ.cs @@ -28,13 +28,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } if (txtRadius.Text != "" && pt != null) @@ -127,34 +125,28 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) + string featNum = feats[i].GetFieldAsString("编号"); + if (feats[i].GetFieldDefn("标识器编号") != null) { - string featNum = feats[i].GetFieldAsString("编号"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - if (markList.Contains(featNum) == false) - { - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["编号"].Value = featNum; - row.Cells["图层名称"].Value = layername; - markList.Add(featNum); - } - else - { - return; - } + featNum = feats[i].GetFieldAsString("标识器编号"); + } + if (markList.Contains(featNum) == false) + { + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["编号"].Value = featNum; + row.Cells["图层名称"].Value = layername; + markList.Add(featNum); + } + else + { + return; } } } @@ -210,48 +202,42 @@ { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -263,22 +249,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -295,38 +269,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -340,23 +308,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index ac622c4..0a5d0b0 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -43,27 +43,28 @@ globeControl2.MouseClick += globeControl2_MouseClick; } - private void invalParam() + private bool InvalParam() { if (srcFeature == null || dscFeature == null) { MessageBox.Show("请选择要对比的管段!", "提示"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) { MessageBox.Show("请选择同种类型图层!"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || - srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) - return; + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || + srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) + return false; + return true; } private void buttonAnalysis_Click(object sender, EventArgs e) { - invalParam(); - + bool isvalid = InvalParam(); + if (!isvalid) return; dataGridViewX1.DataSource = null; lineFeatureCompare(srcFeature, dscFeature); } @@ -75,11 +76,13 @@ private void lineFeatureCompare(GSOFeature srcFeature, GSOFeature dscFeature) { GSOGeoPolyline3D srcLine = srcFeature.Geometry as GSOGeoPolyline3D; - double srcLineLength = srcLine.GetSpaceLength(false, 6378137); + if (srcLine == null) return; GSOGeoPolyline3D dscLine = dscFeature.Geometry as GSOGeoPolyline3D; + if (dscLine == null) return; + double srcLineLength = srcLine.GetSpaceLength(false, 6378137); double dscLineLength = dscLine.GetSpaceLength(false, 6378137); - + double horizonDistance, verticalDistance; ClassDoubleScreenCompare.CalculateDistance(srcLine, dscLine, out horizonDistance, @@ -136,26 +139,13 @@ globeControl2.Refresh(); } - public static void clearFeatureHighLight(GSOGlobeControl glb) - { - for (int i = 0; i < glb.Globe.Layers.Count; i++) - { - GSOLayer layer = glb.Globe.Layers[i]; - if (!(layer is GSOFeatureLayer)) continue; - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - feats[j].HighLight = false; - } - } - } void globeControl1_MouseClick(object sender, MouseEventArgs e) { if (globeControl1.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { @@ -181,10 +171,10 @@ void globeControl2_MouseClick(object sender, MouseEventArgs e) { - + if (globeControl2.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { diff --git a/FrmGBJC.cs b/FrmGBJC.cs index d7acc30..e103403 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -21,8 +21,6 @@ { this.globeControl1 = _globeControl1; this.globeControl2 = _globeControl2; - //DoublePanelAnalysis.globeControl1 = globeControl1; - //DoublePanelAnalysis.globeControl2 = globeControl2; this.layerTemp = _layerTemp; this.layerTemp2 = _layerTemp2; InitializeComponent(); @@ -119,7 +117,7 @@ if (scLayer == null || sgLayer == null) return; - DataTable dt = DoublePanelAnalysis.lineFeatureCompare(scLayer, sgLayer, + DataTable dt = DoublePanelAnalysis.CompareLayerByRoad(scLayer, sgLayer, comboBoxRoad.SelectedItem.ToString(), globeControl1, globeControl2); FrmGBJCresult rs = new FrmGBJCresult(globeControl1, globeControl2, dt); diff --git a/MainFrm.cs b/MainFrm.cs index 6f9ec57..7c21cae 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -3365,9 +3365,9 @@ return dismarker.Position; } - #region wxl重构未完成 + #region wxl /// - /// 碰撞分析 + /// wxl重构,碰撞分析 /// /// /// @@ -3423,7 +3423,7 @@ } /// - /// 垂直净距分析,暂时没有在地图上标注 + /// wxl重构,垂直净距分析 /// /// /// @@ -3533,7 +3533,6 @@ featLenth.Clear(); listBox3.Items.Clear(); layerTemp.RemoveAllFeature(); - //polygonJingJuAnalysises.RemoveAll(); clearFeatureHighLight(); dataGridViewX9.Rows.Clear(); Cursor = Cursors.WaitCursor; @@ -3572,6 +3571,7 @@ /// private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1,selectedFeature, _pipelineLayerNames, dis); if (featureMap == null) @@ -4281,10 +4281,9 @@ dataGridViewX4.Rows.Clear(); dataGridViewX5.Rows.Clear(); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(comboBoxEx2.SelectedItem.ToString()); - if (layer == null) - return; - + GSOFeatureLayer flayer = layer as GSOFeatureLayer; + if (flayer == null) return; GSOFeatures feats = flayer.GetAllFeatures(); for (int i = 0; i < feats.Length; i++) { @@ -7414,13 +7413,17 @@ GSOFeature f; GSOLayer layer; globeControl1.Globe.GetSelectObject(i, out f, out layer); - if (f == null) continue; - f.Delete(); - if (layer != null) - globeControl1.Globe.AddToEditHistroy(layer, f, EnumEditType.Delete); +// if (f == null) continue; +// f.Delete(); +// if (layer != null) +// globeControl1.Globe.AddToEditHistroy(layer, f, EnumEditType.Delete); + FeatureTools.DeleteFeature(f); + globeControl1.Refresh(); + } + MessageBox.Show("删除成功!", "提示"); globeControl1.Globe.Action = EnumAction3D.ActionNull; } diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index cf83817..2622c33 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -37,17 +37,17 @@ { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = 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(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = 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(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle25 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle26 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle27 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle28 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle29 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle30 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle31 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle32 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle33 = new System.Windows.Forms.DataGridViewCellStyle(); this.dotNetBarManager1 = new DevComponents.DotNetBar.DotNetBarManager(this.components); this.dockSite4 = new DevComponents.DotNetBar.DockSite(); this.dockSite1 = new DevComponents.DotNetBar.DockSite(); @@ -277,6 +277,9 @@ this.btn_user_role = new DevComponents.DotNetBar.ButtonItem(); this.btn_password_edit = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemPasswordReset = new DevComponents.DotNetBar.ButtonItem(); + this.ribbonPanel4 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar1 = new DevComponents.DotNetBar.RibbonBar(); + this.btn_document_info = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel15 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar20 = new DevComponents.DotNetBar.RibbonBar(); this.buttonItemSH = new DevComponents.DotNetBar.ButtonItem(); @@ -332,9 +335,6 @@ this.buttonItemXT4 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemXT4_1 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemXT4_2 = new DevComponents.DotNetBar.ButtonItem(); - this.ribbonPanel4 = new DevComponents.DotNetBar.RibbonPanel(); - this.ribbonBar1 = new DevComponents.DotNetBar.RibbonBar(); - this.btn_document_info = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel1 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar21 = new DevComponents.DotNetBar.RibbonBar(); this.buttonItem87 = new DevComponents.DotNetBar.ButtonItem(); @@ -543,8 +543,8 @@ this.ribbonPanel5.SuspendLayout(); this.ribbonPanel6.SuspendLayout(); this.ribbonPanel2.SuspendLayout(); - this.ribbonPanel15.SuspendLayout(); this.ribbonPanel4.SuspendLayout(); + this.ribbonPanel15.SuspendLayout(); this.ribbonPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.panelOfTable.SuspendLayout(); @@ -729,7 +729,7 @@ this.toolStripDropDownButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton1.Image"))); this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripDropDownButton1.Name = "toolStripDropDownButton1"; - this.toolStripDropDownButton1.Size = new System.Drawing.Size(45, 20); + this.toolStripDropDownButton1.Size = new System.Drawing.Size(45, 21); this.toolStripDropDownButton1.Text = "帮助"; this.toolStripDropDownButton1.Visible = false; // @@ -1165,7 +1165,7 @@ this.水平面积ToolStripMenuItem1, this.地表面积ToolStripMenuItem1}); this.量算ToolStripMenuItem.Name = "量算ToolStripMenuItem"; - this.量算ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.量算ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.量算ToolStripMenuItem.Text = "量算"; // // 水平距离ToolStripMenuItem1 @@ -1228,7 +1228,7 @@ this.前进ToolStripMenuItem, this.后退ToolStripMenuItem}); this.编辑ToolStripMenuItem.Name = "编辑ToolStripMenuItem"; - this.编辑ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.编辑ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.编辑ToolStripMenuItem.Text = "编辑"; // // 平移对象ToolStripMenuItem @@ -1304,7 +1304,7 @@ this.绕中心点飞行ToolStripMenuItem, this.绕眼睛飞行ToolStripMenuItem}); this.飞行ToolStripMenuItem.Name = "飞行ToolStripMenuItem"; - this.飞行ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.飞行ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.飞行ToolStripMenuItem.Text = "飞行"; // // 自定义飞行ToolStripMenuItem @@ -1349,7 +1349,7 @@ this.属性标注ToolStripMenuItem, this.标注管理ToolStripMenuItem}); this.标注ToolStripMenuItem.Name = "标注ToolStripMenuItem"; - this.标注ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.标注ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.标注ToolStripMenuItem.Text = "标注"; // // 标高标注ToolStripMenuItem @@ -1436,7 +1436,7 @@ this.关联查询ToolStripMenuItem, this.关键字查询ToolStripMenuItem}); this.查询ToolStripMenuItem.Name = "查询ToolStripMenuItem"; - this.查询ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.查询ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.查询ToolStripMenuItem.Text = "查询"; // // 空间查询ToolStripMenuItem @@ -1522,7 +1522,7 @@ this.附属物分类统计ToolStripMenuItem, this.标识器分类统计ToolStripMenuItem}); this.全区域统计ToolStripMenuItem.Name = "全区域统计ToolStripMenuItem"; - this.全区域统计ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.全区域统计ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.全区域统计ToolStripMenuItem.Text = "全区域统计"; // // 管线长度统计ToolStripMenuItem @@ -1601,7 +1601,7 @@ this.附属物分类统计ToolStripMenuItem1, this.标识器分类统计ToolStripMenuItem1}); this.绘制区域统计ToolStripMenuItem.Name = "绘制区域统计ToolStripMenuItem"; - this.绘制区域统计ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.绘制区域统计ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.绘制区域统计ToolStripMenuItem.Text = "绘制区域统计"; // // 管线长度统计ToolStripMenuItem1 @@ -1675,7 +1675,7 @@ this.道路断面分析ToolStripMenuItem, this.基线剖面分析ToolStripMenuItem}); this.断面分析ToolStripMenuItem.Name = "断面分析ToolStripMenuItem"; - this.断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.断面分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.断面分析ToolStripMenuItem.Text = "断面分析"; // // 横断面分析ToolStripMenuItem @@ -1717,7 +1717,7 @@ this.连通分析ToolStripMenuItem, this.爆管分析ToolStripMenuItem}); this.拓扑分析ToolStripMenuItem.Name = "拓扑分析ToolStripMenuItem"; - this.拓扑分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.拓扑分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.拓扑分析ToolStripMenuItem.Text = "拓扑分析"; // // 创建拓扑ToolStripMenuItem @@ -1779,7 +1779,7 @@ this.隐藏隧道ToolStripMenuItem, this.删除隧道ToolStripMenuItem}); this.开挖分析ToolStripMenuItem.Name = "开挖分析ToolStripMenuItem"; - this.开挖分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.开挖分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.开挖分析ToolStripMenuItem.Text = "开挖分析"; // // 多边形开挖ToolStripMenuItem @@ -1831,27 +1831,27 @@ this.可视域分析ToolStripMenuItem, this.可视包络分析ToolStripMenuItem}); this.视域分析ToolStripMenuItem.Name = "视域分析ToolStripMenuItem"; - this.视域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.视域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.视域分析ToolStripMenuItem.Text = "视域分析"; // // 通视分析ToolStripMenuItem // this.通视分析ToolStripMenuItem.Name = "通视分析ToolStripMenuItem"; - this.通视分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.通视分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.通视分析ToolStripMenuItem.Text = "通视分析"; this.通视分析ToolStripMenuItem.Click += new System.EventHandler(this.通视分析ToolStripMenuItem_Click); // // 可视域分析ToolStripMenuItem // this.可视域分析ToolStripMenuItem.Name = "可视域分析ToolStripMenuItem"; - this.可视域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.可视域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.可视域分析ToolStripMenuItem.Text = "可视域分析"; this.可视域分析ToolStripMenuItem.Click += new System.EventHandler(this.可视域分析ToolStripMenuItem_Click); // // 可视包络分析ToolStripMenuItem // this.可视包络分析ToolStripMenuItem.Name = "可视包络分析ToolStripMenuItem"; - this.可视包络分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.可视包络分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.可视包络分析ToolStripMenuItem.Text = "可视包络分析"; this.可视包络分析ToolStripMenuItem.Click += new System.EventHandler(this.可视包络分析ToolStripMenuItem_Click); // @@ -1862,34 +1862,34 @@ this.缓冲区分析ToolStripMenuItem, this.无源淹没分析ToolStripMenuItem}); this.区域分析ToolStripMenuItem.Name = "区域分析ToolStripMenuItem"; - this.区域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.区域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.区域分析ToolStripMenuItem.Text = "区域分析"; // // 附属物分析ToolStripMenuItem // this.附属物分析ToolStripMenuItem.Name = "附属物分析ToolStripMenuItem"; - this.附属物分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.附属物分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.附属物分析ToolStripMenuItem.Text = "配件分析"; this.附属物分析ToolStripMenuItem.Click += new System.EventHandler(this.附属物分析ToolStripMenuItem_Click); // // 缓冲区分析ToolStripMenuItem // this.缓冲区分析ToolStripMenuItem.Name = "缓冲区分析ToolStripMenuItem"; - this.缓冲区分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.缓冲区分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.缓冲区分析ToolStripMenuItem.Text = "缓冲区分析"; this.缓冲区分析ToolStripMenuItem.Click += new System.EventHandler(this.缓冲区分析ToolStripMenuItem_Click); // // 无源淹没分析ToolStripMenuItem // this.无源淹没分析ToolStripMenuItem.Name = "无源淹没分析ToolStripMenuItem"; - this.无源淹没分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.无源淹没分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.无源淹没分析ToolStripMenuItem.Text = "无源淹没分析"; this.无源淹没分析ToolStripMenuItem.Click += new System.EventHandler(this.无源淹没分析ToolStripMenuItem_Click); // // 清除分析ToolStripMenuItem // this.清除分析ToolStripMenuItem.Name = "清除分析ToolStripMenuItem"; - this.清除分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.清除分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.清除分析ToolStripMenuItem.Text = "清除分析"; this.清除分析ToolStripMenuItem.Click += new System.EventHandler(this.buttonItemClear_Click); // @@ -2170,12 +2170,12 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel12); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); - this.ribbonControl1.Controls.Add(this.ribbonPanel6); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; this.ribbonControl1.ImeMode = System.Windows.Forms.ImeMode.NoControl; @@ -2244,6 +2244,7 @@ this.ribbonPanel12.StyleMouseOver.Class = ""; this.ribbonPanel12.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel12.TabIndex = 34; + this.ribbonPanel12.Visible = false; // // ribbonBar18 // @@ -2731,6 +2732,76 @@ this.buttonItemPasswordReset.Text = "重置密码"; this.buttonItemPasswordReset.Click += new System.EventHandler(this.buttonItemPasswordReset_Click); // + // ribbonPanel4 + // + this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel4.Controls.Add(this.ribbonBar1); + this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel4.Name = "ribbonPanel4"; + this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); + // + // + // + this.ribbonPanel4.Style.Class = ""; + this.ribbonPanel4.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel4.StyleMouseDown.Class = ""; + this.ribbonPanel4.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel4.StyleMouseOver.Class = ""; + this.ribbonPanel4.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel4.TabIndex = 36; + this.ribbonPanel4.Visible = false; + // + // ribbonBar1 + // + this.ribbonBar1.AutoOverflowEnabled = true; + // + // + // + this.ribbonBar1.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar1.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar1.BackgroundStyle.Class = ""; + this.ribbonBar1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar1.ContainerControlProcessDialogKey = true; + this.ribbonBar1.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.btn_document_info}); + this.ribbonBar1.Location = new System.Drawing.Point(3, 0); + this.ribbonBar1.Name = "ribbonBar1"; + this.ribbonBar1.Size = new System.Drawing.Size(88, 59); + this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar1.TabIndex = 0; + // + // + // + this.ribbonBar1.TitleStyle.Class = ""; + this.ribbonBar1.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar1.TitleStyleMouseOver.Class = ""; + this.ribbonBar1.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar1.TitleVisible = false; + // + // btn_document_info + // + this.btn_document_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_document_info.Image"))); + this.btn_document_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_document_info.Name = "btn_document_info"; + this.btn_document_info.SubItemsExpandWidth = 14; + this.btn_document_info.Text = "文档管理"; + this.btn_document_info.Click += new System.EventHandler(this.btn_document_info_Click); + // // ribbonPanel15 // this.ribbonPanel15.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -2756,7 +2827,6 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; - this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3211,76 +3281,6 @@ this.buttonItemXT4_2.Text = "人员修改"; this.buttonItemXT4_2.Click += new System.EventHandler(this.buttonItemXT4_2_Click); // - // ribbonPanel4 - // - this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonPanel4.Controls.Add(this.ribbonBar1); - this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); - this.ribbonPanel4.Name = "ribbonPanel4"; - this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); - // - // - // - this.ribbonPanel4.Style.Class = ""; - this.ribbonPanel4.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonPanel4.StyleMouseDown.Class = ""; - this.ribbonPanel4.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonPanel4.StyleMouseOver.Class = ""; - this.ribbonPanel4.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonPanel4.TabIndex = 36; - this.ribbonPanel4.Visible = false; - // - // ribbonBar1 - // - this.ribbonBar1.AutoOverflowEnabled = true; - // - // - // - this.ribbonBar1.BackgroundMouseOverStyle.Class = ""; - this.ribbonBar1.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonBar1.BackgroundStyle.Class = ""; - this.ribbonBar1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar1.ContainerControlProcessDialogKey = true; - this.ribbonBar1.Dock = System.Windows.Forms.DockStyle.Left; - this.ribbonBar1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.btn_document_info}); - this.ribbonBar1.Location = new System.Drawing.Point(3, 0); - this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(88, 59); - this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonBar1.TabIndex = 0; - // - // - // - this.ribbonBar1.TitleStyle.Class = ""; - this.ribbonBar1.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonBar1.TitleStyleMouseOver.Class = ""; - this.ribbonBar1.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar1.TitleVisible = false; - // - // btn_document_info - // - this.btn_document_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_document_info.Image"))); - this.btn_document_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.btn_document_info.Name = "btn_document_info"; - this.btn_document_info.SubItemsExpandWidth = 14; - this.btn_document_info.Text = "文档管理"; - this.btn_document_info.Click += new System.EventHandler(this.btn_document_info_Click); - // // ribbonPanel1 // this.ribbonPanel1.AutoSize = true; @@ -3440,7 +3440,6 @@ // ribbonTabItem11 // this.ribbonTabItem11.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem11.Checked = true; this.ribbonTabItem11.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem11.HoverImage"))); this.ribbonTabItem11.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem11.Image"))); this.ribbonTabItem11.Name = "ribbonTabItem11"; @@ -3481,6 +3480,7 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -3841,14 +3841,14 @@ this.dataGridViewX1.AllowUserToAddRows = false; this.dataGridViewX1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; this.dataGridViewX1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle23.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle23.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle23.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle23.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle23.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle23.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle23; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(0, 5); @@ -4124,14 +4124,14 @@ this.dataGridViewLineList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn19, this.dataGridViewTextBoxColumn20}); - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewLineList.DefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle24.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle24.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle24.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle24.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle24.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle24.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle24.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewLineList.DefaultCellStyle = dataGridViewCellStyle24; this.dataGridViewLineList.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewLineList.Location = new System.Drawing.Point(9, 155); this.dataGridViewLineList.Name = "dataGridViewLineList"; @@ -4219,14 +4219,14 @@ this.dataGridViewTextBoxColumn24, this.dataGridViewTextBoxColumn25, this.水平净距}); - dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewAnalysisResult.DefaultCellStyle = dataGridViewCellStyle3; + dataGridViewCellStyle25.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle25.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle25.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle25.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle25.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle25.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle25.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewAnalysisResult.DefaultCellStyle = dataGridViewCellStyle25; this.dataGridViewAnalysisResult.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewAnalysisResult.Location = new System.Drawing.Point(8, 310); this.dataGridViewAnalysisResult.Name = "dataGridViewAnalysisResult"; @@ -4461,21 +4461,21 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn10, this.dataGridViewTextBoxColumn11}); - dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle26.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle26.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle26.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle26.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle26.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle26.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle26.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle26; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(12, 127); this.dataGridViewX2.Name = "dataGridViewX2"; this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(26923, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(27517, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -4555,21 +4555,21 @@ this.Column6, this.Colomn12, this.Column5}); - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX3.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle27.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle27.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle27.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle27.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle27.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle27.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle27.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX3.DefaultCellStyle = dataGridViewCellStyle27; this.dataGridViewX3.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX3.Location = new System.Drawing.Point(12, 272); this.dataGridViewX3.Name = "dataGridViewX3"; this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(26922, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(27516, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -4813,14 +4813,14 @@ this.dataGridViewX8.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn12, this.dataGridViewTextBoxColumn13}); - dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle6.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX8.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle28.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle28.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle28.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle28.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle28.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle28.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle28.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX8.DefaultCellStyle = dataGridViewCellStyle28; this.dataGridViewX8.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX8.Location = new System.Drawing.Point(10, 120); this.dataGridViewX8.Name = "dataGridViewX8"; @@ -4908,14 +4908,14 @@ this.dataGridViewTextBoxColumn16, this.dataGridViewTextBoxColumn17, this.dataGridViewTextBoxColumn18}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX9.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle29.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle29.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle29.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle29.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle29.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle29.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle29.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX9.DefaultCellStyle = dataGridViewCellStyle29; this.dataGridViewX9.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX9.Location = new System.Drawing.Point(11, 271); this.dataGridViewX9.Name = "dataGridViewX9"; @@ -5191,14 +5191,14 @@ this.dataGridViewX4.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn1, this.dataGridViewTextBoxColumn2}); - dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle8.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX4.DefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle30.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle30.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle30.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle30.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle30.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle30.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle30.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX4.DefaultCellStyle = dataGridViewCellStyle30; this.dataGridViewX4.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX4.Location = new System.Drawing.Point(7, 84); this.dataGridViewX4.Name = "dataGridViewX4"; @@ -5276,14 +5276,14 @@ this.dataGridViewTextBoxColumn4, this.Column3, this.Column4}); - dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle9.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX5.DefaultCellStyle = dataGridViewCellStyle9; + dataGridViewCellStyle31.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle31.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle31.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle31.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle31.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle31.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle31.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX5.DefaultCellStyle = dataGridViewCellStyle31; this.dataGridViewX5.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX5.Location = new System.Drawing.Point(7, 225); this.dataGridViewX5.Name = "dataGridViewX5"; @@ -5477,14 +5477,14 @@ this.dataGridViewX6.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn5, this.dataGridViewTextBoxColumn6}); - dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle10.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX6.DefaultCellStyle = dataGridViewCellStyle10; + dataGridViewCellStyle32.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle32.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle32.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle32.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle32.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle32.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle32.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX6.DefaultCellStyle = dataGridViewCellStyle32; this.dataGridViewX6.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX6.Location = new System.Drawing.Point(8, 111); this.dataGridViewX6.Name = "dataGridViewX6"; @@ -5561,14 +5561,14 @@ this.dataGridViewTextBoxColumn7, this.dataGridViewTextBoxColumn8, this.dataGridViewTextBoxColumn9}); - dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle11.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle11.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX7.DefaultCellStyle = dataGridViewCellStyle11; + dataGridViewCellStyle33.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle33.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle33.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle33.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle33.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle33.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle33.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX7.DefaultCellStyle = dataGridViewCellStyle33; this.dataGridViewX7.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX7.Location = new System.Drawing.Point(9, 262); this.dataGridViewX7.Name = "dataGridViewX7"; @@ -5790,8 +5790,8 @@ this.ribbonPanel5.ResumeLayout(false); this.ribbonPanel6.ResumeLayout(false); this.ribbonPanel2.ResumeLayout(false); - this.ribbonPanel15.ResumeLayout(false); this.ribbonPanel4.ResumeLayout(false); + this.ribbonPanel15.ResumeLayout(false); this.ribbonPanel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.panelOfTable.ResumeLayout(false); diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmAddInstrument.cs b/FrmAddInstrument.cs index 683c3be..2c0ea07 100644 --- a/FrmAddInstrument.cs +++ b/FrmAddInstrument.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -25,6 +26,7 @@ panel1.Controls.Add(plane3DControl); plane3DControl.Dock = DockStyle.Fill; } + /// /// 添加按钮事件处理 /// @@ -32,37 +34,37 @@ /// private void btnAdd_Click(object sender, EventArgs e) { - if (feature != null) + if (feature == null) { - if (markerFeature != null) - { - markerFeature.Delete(); - } - GSOPoint3d pt = new GSOPoint3d(); - pt.X = point.X; - pt.Y = point.Y; - pt.Z = point.Z; - GSOGeoModel model = new GSOGeoModel(); - model.FilePath = modelPath; - model.Position = pt; - model.AltitudeMode = EnumAltitudeMode.Absolute; - feature = new GSOFeature(); - feature.Geometry = model; - modelLayer.AddFeature(feature); - if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - modelLayer.Save(); - } - globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); - globeControl1.Refresh(); - } - else - { - MessageBox.Show("请选中一个附属物!","提示"); + MessageBox.Show("请选中一个附属物!", "提示"); return; } - Close(); + + if (markerFeature != null) + { + markerFeature.Delete(); + } + GSOPoint3d pt = new GSOPoint3d(); + pt.X = point.X; + pt.Y = point.Y; + pt.Z = point.Z; + GSOGeoModel model = new GSOGeoModel(); + model.FilePath = modelPath; + model.Position = pt; + model.AltitudeMode = EnumAltitudeMode.Absolute; + feature = new GSOFeature(); + feature.Geometry = model; + modelLayer.AddFeature(feature); + if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + modelLayer.Save(); + } + globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); + globeControl1.Refresh(); + + Close(); } + /// /// 关闭按钮事件处理 /// diff --git a/FrmAddInstrument.designer.cs b/FrmAddInstrument.designer.cs index 2ebab1d..307d2c6 100644 --- a/FrmAddInstrument.designer.cs +++ b/FrmAddInstrument.designer.cs @@ -56,10 +56,9 @@ this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel1.Controls.Add(this.listBoxSize); this.groupPanel1.Controls.Add(this.label2); - this.groupPanel1.Location = new System.Drawing.Point(15, 58); - this.groupPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel1.Location = new System.Drawing.Point(11, 46); this.groupPanel1.Name = "groupPanel1"; - this.groupPanel1.Size = new System.Drawing.Size(611, 125); + this.groupPanel1.Size = new System.Drawing.Size(458, 100); // // // @@ -96,11 +95,10 @@ // listBoxSize // this.listBoxSize.FormattingEnabled = true; - this.listBoxSize.ItemHeight = 15; - this.listBoxSize.Location = new System.Drawing.Point(115, 11); - this.listBoxSize.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.listBoxSize.ItemHeight = 12; + this.listBoxSize.Location = new System.Drawing.Point(86, 9); this.listBoxSize.Name = "listBoxSize"; - this.listBoxSize.Size = new System.Drawing.Size(464, 94); + this.listBoxSize.Size = new System.Drawing.Size(349, 76); this.listBoxSize.TabIndex = 8; this.listBoxSize.SelectedIndexChanged += new System.EventHandler(this.listBoxSize_SelectedIndexChanged); // @@ -109,10 +107,9 @@ this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.Font = new System.Drawing.Font("宋体", 9F); - this.label2.Location = new System.Drawing.Point(20, 11); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Location = new System.Drawing.Point(15, 9); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(67, 15); + this.label2.Size = new System.Drawing.Size(53, 12); this.label2.TabIndex = 1; this.label2.Text = "附属物:"; // @@ -121,10 +118,9 @@ this.groupPanel2.CanvasColor = System.Drawing.SystemColors.Control; this.groupPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel2.Controls.Add(this.panel1); - this.groupPanel2.Location = new System.Drawing.Point(15, 190); - this.groupPanel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel2.Location = new System.Drawing.Point(11, 152); this.groupPanel2.Name = "groupPanel2"; - this.groupPanel2.Size = new System.Drawing.Size(611, 329); + this.groupPanel2.Size = new System.Drawing.Size(458, 263); // // // @@ -163,19 +159,17 @@ // this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(605, 302); + this.panel1.Size = new System.Drawing.Size(452, 241); this.panel1.TabIndex = 0; // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnCancel.Location = new System.Drawing.Point(527, 528); - this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnCancel.Location = new System.Drawing.Point(395, 422); this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(100, 29); + this.btnCancel.Size = new System.Drawing.Size(75, 23); this.btnCancel.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnCancel.TabIndex = 16; this.btnCancel.Text = "关闭"; @@ -185,10 +179,9 @@ // this.btnAdd.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnAdd.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnAdd.Location = new System.Drawing.Point(415, 528); - this.btnAdd.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnAdd.Location = new System.Drawing.Point(311, 422); this.btnAdd.Name = "btnAdd"; - this.btnAdd.Size = new System.Drawing.Size(100, 29); + this.btnAdd.Size = new System.Drawing.Size(75, 23); this.btnAdd.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnAdd.TabIndex = 15; this.btnAdd.Text = "添加"; @@ -202,10 +195,9 @@ this.groupPanel3.Controls.Add(this.textBoxXLon); this.groupPanel3.Controls.Add(this.labelLat); this.groupPanel3.Controls.Add(this.labelLon); - this.groupPanel3.Location = new System.Drawing.Point(15, 8); - this.groupPanel3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel3.Location = new System.Drawing.Point(11, 6); this.groupPanel3.Name = "groupPanel3"; - this.groupPanel3.Size = new System.Drawing.Size(611, 40); + this.groupPanel3.Size = new System.Drawing.Size(458, 32); // // // @@ -246,10 +238,9 @@ // this.textBoxXLat.Border.Class = "TextBoxBorder"; this.textBoxXLat.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLat.Location = new System.Drawing.Point(409, 2); - this.textBoxXLat.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLat.Location = new System.Drawing.Point(307, 2); this.textBoxXLat.Name = "textBoxXLat"; - this.textBoxXLat.Size = new System.Drawing.Size(171, 30); + this.textBoxXLat.Size = new System.Drawing.Size(128, 21); this.textBoxXLat.TabIndex = 3; this.textBoxXLat.TextChanged += new System.EventHandler(this.textBoxXLat_TextChanged); // @@ -260,10 +251,9 @@ // this.textBoxXLon.Border.Class = "TextBoxBorder"; this.textBoxXLon.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLon.Location = new System.Drawing.Point(115, 2); - this.textBoxXLon.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLon.Location = new System.Drawing.Point(86, 2); this.textBoxXLon.Name = "textBoxXLon"; - this.textBoxXLon.Size = new System.Drawing.Size(171, 30); + this.textBoxXLon.Size = new System.Drawing.Size(128, 21); this.textBoxXLon.TabIndex = 2; this.textBoxXLon.TextChanged += new System.EventHandler(this.textBoxXLon_TextChanged); // @@ -272,10 +262,9 @@ this.labelLat.AutoSize = true; this.labelLat.BackColor = System.Drawing.Color.Transparent; this.labelLat.Font = new System.Drawing.Font("宋体", 9F); - this.labelLat.Location = new System.Drawing.Point(329, 11); - this.labelLat.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLat.Location = new System.Drawing.Point(247, 9); this.labelLat.Name = "labelLat"; - this.labelLat.Size = new System.Drawing.Size(52, 15); + this.labelLat.Size = new System.Drawing.Size(41, 12); this.labelLat.TabIndex = 1; this.labelLat.Text = "纬度:"; // @@ -284,18 +273,17 @@ this.labelLon.AutoSize = true; this.labelLon.BackColor = System.Drawing.Color.Transparent; this.labelLon.Font = new System.Drawing.Font("宋体", 9F); - this.labelLon.Location = new System.Drawing.Point(20, 11); - this.labelLon.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLon.Location = new System.Drawing.Point(15, 9); this.labelLon.Name = "labelLon"; - this.labelLon.Size = new System.Drawing.Size(52, 15); + this.labelLon.Size = new System.Drawing.Size(41, 12); this.labelLon.TabIndex = 1; this.labelLon.Text = "经度:"; // // FrmAddInstrument // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(641, 564); + this.ClientSize = new System.Drawing.Size(481, 451); this.Controls.Add(this.groupPanel3); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnAdd); @@ -304,7 +292,6 @@ this.DoubleBuffered = true; this.EnableGlass = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.MaximizeBox = false; this.Name = "FrmAddInstrument"; this.ShowIcon = false; diff --git a/FrmBufferAnalysis.cs b/FrmBufferAnalysis.cs index ea8a4b7..30bab88 100644 --- a/FrmBufferAnalysis.cs +++ b/FrmBufferAnalysis.cs @@ -30,13 +30,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } } @@ -114,23 +112,17 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i=0;i @@ -145,25 +137,18 @@ { e.Handled = true; } - if (e.KeyChar == 46) //小数点 + if (e.KeyChar != 46) return; + if (text.Text.Length <= 0) + e.Handled = true; //小数点不能在第一位 + else //处理不规则的小数点 { - if (text.Text.Length <= 0) - e.Handled = true; //小数点不能在第一位 - else //处理不规则的小数点 - { - float f; - float oldf; - bool b1 = false, b2 = false; - b1 = float.TryParse(text.Text, out oldf); - b2 = float.TryParse(text.Text + e.KeyChar, out f); - if (b2 == false) - { - if (b1) - e.Handled = true; - else - e.Handled = false; - } - } + float f; + float oldf; + bool b1 = false, b2 = false; + b1 = float.TryParse(text.Text, out oldf); + b2 = float.TryParse(text.Text + e.KeyChar, out f); + if (b2) return; + e.Handled = b1; } } /// @@ -197,51 +182,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } - } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -258,22 +236,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -293,38 +259,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -337,23 +297,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmBufferAnalysisBSQ.cs b/FrmBufferAnalysisBSQ.cs index d887d47..e08dba3 100644 --- a/FrmBufferAnalysisBSQ.cs +++ b/FrmBufferAnalysisBSQ.cs @@ -28,13 +28,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } if (txtRadius.Text != "" && pt != null) @@ -127,34 +125,28 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) + string featNum = feats[i].GetFieldAsString("编号"); + if (feats[i].GetFieldDefn("标识器编号") != null) { - string featNum = feats[i].GetFieldAsString("编号"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - if (markList.Contains(featNum) == false) - { - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["编号"].Value = featNum; - row.Cells["图层名称"].Value = layername; - markList.Add(featNum); - } - else - { - return; - } + featNum = feats[i].GetFieldAsString("标识器编号"); + } + if (markList.Contains(featNum) == false) + { + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["编号"].Value = featNum; + row.Cells["图层名称"].Value = layername; + markList.Add(featNum); + } + else + { + return; } } } @@ -210,48 +202,42 @@ { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -263,22 +249,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -295,38 +269,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -340,23 +308,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index ac622c4..0a5d0b0 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -43,27 +43,28 @@ globeControl2.MouseClick += globeControl2_MouseClick; } - private void invalParam() + private bool InvalParam() { if (srcFeature == null || dscFeature == null) { MessageBox.Show("请选择要对比的管段!", "提示"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) { MessageBox.Show("请选择同种类型图层!"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || - srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) - return; + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || + srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) + return false; + return true; } private void buttonAnalysis_Click(object sender, EventArgs e) { - invalParam(); - + bool isvalid = InvalParam(); + if (!isvalid) return; dataGridViewX1.DataSource = null; lineFeatureCompare(srcFeature, dscFeature); } @@ -75,11 +76,13 @@ private void lineFeatureCompare(GSOFeature srcFeature, GSOFeature dscFeature) { GSOGeoPolyline3D srcLine = srcFeature.Geometry as GSOGeoPolyline3D; - double srcLineLength = srcLine.GetSpaceLength(false, 6378137); + if (srcLine == null) return; GSOGeoPolyline3D dscLine = dscFeature.Geometry as GSOGeoPolyline3D; + if (dscLine == null) return; + double srcLineLength = srcLine.GetSpaceLength(false, 6378137); double dscLineLength = dscLine.GetSpaceLength(false, 6378137); - + double horizonDistance, verticalDistance; ClassDoubleScreenCompare.CalculateDistance(srcLine, dscLine, out horizonDistance, @@ -136,26 +139,13 @@ globeControl2.Refresh(); } - public static void clearFeatureHighLight(GSOGlobeControl glb) - { - for (int i = 0; i < glb.Globe.Layers.Count; i++) - { - GSOLayer layer = glb.Globe.Layers[i]; - if (!(layer is GSOFeatureLayer)) continue; - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - feats[j].HighLight = false; - } - } - } void globeControl1_MouseClick(object sender, MouseEventArgs e) { if (globeControl1.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { @@ -181,10 +171,10 @@ void globeControl2_MouseClick(object sender, MouseEventArgs e) { - + if (globeControl2.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { diff --git a/FrmGBJC.cs b/FrmGBJC.cs index d7acc30..e103403 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -21,8 +21,6 @@ { this.globeControl1 = _globeControl1; this.globeControl2 = _globeControl2; - //DoublePanelAnalysis.globeControl1 = globeControl1; - //DoublePanelAnalysis.globeControl2 = globeControl2; this.layerTemp = _layerTemp; this.layerTemp2 = _layerTemp2; InitializeComponent(); @@ -119,7 +117,7 @@ if (scLayer == null || sgLayer == null) return; - DataTable dt = DoublePanelAnalysis.lineFeatureCompare(scLayer, sgLayer, + DataTable dt = DoublePanelAnalysis.CompareLayerByRoad(scLayer, sgLayer, comboBoxRoad.SelectedItem.ToString(), globeControl1, globeControl2); FrmGBJCresult rs = new FrmGBJCresult(globeControl1, globeControl2, dt); diff --git a/MainFrm.cs b/MainFrm.cs index 6f9ec57..7c21cae 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -3365,9 +3365,9 @@ return dismarker.Position; } - #region wxl重构未完成 + #region wxl /// - /// 碰撞分析 + /// wxl重构,碰撞分析 /// /// /// @@ -3423,7 +3423,7 @@ } /// - /// 垂直净距分析,暂时没有在地图上标注 + /// wxl重构,垂直净距分析 /// /// /// @@ -3533,7 +3533,6 @@ featLenth.Clear(); listBox3.Items.Clear(); layerTemp.RemoveAllFeature(); - //polygonJingJuAnalysises.RemoveAll(); clearFeatureHighLight(); dataGridViewX9.Rows.Clear(); Cursor = Cursors.WaitCursor; @@ -3572,6 +3571,7 @@ /// private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1,selectedFeature, _pipelineLayerNames, dis); if (featureMap == null) @@ -4281,10 +4281,9 @@ dataGridViewX4.Rows.Clear(); dataGridViewX5.Rows.Clear(); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(comboBoxEx2.SelectedItem.ToString()); - if (layer == null) - return; - + GSOFeatureLayer flayer = layer as GSOFeatureLayer; + if (flayer == null) return; GSOFeatures feats = flayer.GetAllFeatures(); for (int i = 0; i < feats.Length; i++) { @@ -7414,13 +7413,17 @@ GSOFeature f; GSOLayer layer; globeControl1.Globe.GetSelectObject(i, out f, out layer); - if (f == null) continue; - f.Delete(); - if (layer != null) - globeControl1.Globe.AddToEditHistroy(layer, f, EnumEditType.Delete); +// if (f == null) continue; +// f.Delete(); +// if (layer != null) +// globeControl1.Globe.AddToEditHistroy(layer, f, EnumEditType.Delete); + FeatureTools.DeleteFeature(f); + globeControl1.Refresh(); + } + MessageBox.Show("删除成功!", "提示"); globeControl1.Globe.Action = EnumAction3D.ActionNull; } diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index cf83817..2622c33 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -37,17 +37,17 @@ { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = 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(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = 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(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle25 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle26 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle27 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle28 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle29 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle30 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle31 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle32 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle33 = new System.Windows.Forms.DataGridViewCellStyle(); this.dotNetBarManager1 = new DevComponents.DotNetBar.DotNetBarManager(this.components); this.dockSite4 = new DevComponents.DotNetBar.DockSite(); this.dockSite1 = new DevComponents.DotNetBar.DockSite(); @@ -277,6 +277,9 @@ this.btn_user_role = new DevComponents.DotNetBar.ButtonItem(); this.btn_password_edit = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemPasswordReset = new DevComponents.DotNetBar.ButtonItem(); + this.ribbonPanel4 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar1 = new DevComponents.DotNetBar.RibbonBar(); + this.btn_document_info = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel15 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar20 = new DevComponents.DotNetBar.RibbonBar(); this.buttonItemSH = new DevComponents.DotNetBar.ButtonItem(); @@ -332,9 +335,6 @@ this.buttonItemXT4 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemXT4_1 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemXT4_2 = new DevComponents.DotNetBar.ButtonItem(); - this.ribbonPanel4 = new DevComponents.DotNetBar.RibbonPanel(); - this.ribbonBar1 = new DevComponents.DotNetBar.RibbonBar(); - this.btn_document_info = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel1 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar21 = new DevComponents.DotNetBar.RibbonBar(); this.buttonItem87 = new DevComponents.DotNetBar.ButtonItem(); @@ -543,8 +543,8 @@ this.ribbonPanel5.SuspendLayout(); this.ribbonPanel6.SuspendLayout(); this.ribbonPanel2.SuspendLayout(); - this.ribbonPanel15.SuspendLayout(); this.ribbonPanel4.SuspendLayout(); + this.ribbonPanel15.SuspendLayout(); this.ribbonPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.panelOfTable.SuspendLayout(); @@ -729,7 +729,7 @@ this.toolStripDropDownButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton1.Image"))); this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripDropDownButton1.Name = "toolStripDropDownButton1"; - this.toolStripDropDownButton1.Size = new System.Drawing.Size(45, 20); + this.toolStripDropDownButton1.Size = new System.Drawing.Size(45, 21); this.toolStripDropDownButton1.Text = "帮助"; this.toolStripDropDownButton1.Visible = false; // @@ -1165,7 +1165,7 @@ this.水平面积ToolStripMenuItem1, this.地表面积ToolStripMenuItem1}); this.量算ToolStripMenuItem.Name = "量算ToolStripMenuItem"; - this.量算ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.量算ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.量算ToolStripMenuItem.Text = "量算"; // // 水平距离ToolStripMenuItem1 @@ -1228,7 +1228,7 @@ this.前进ToolStripMenuItem, this.后退ToolStripMenuItem}); this.编辑ToolStripMenuItem.Name = "编辑ToolStripMenuItem"; - this.编辑ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.编辑ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.编辑ToolStripMenuItem.Text = "编辑"; // // 平移对象ToolStripMenuItem @@ -1304,7 +1304,7 @@ this.绕中心点飞行ToolStripMenuItem, this.绕眼睛飞行ToolStripMenuItem}); this.飞行ToolStripMenuItem.Name = "飞行ToolStripMenuItem"; - this.飞行ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.飞行ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.飞行ToolStripMenuItem.Text = "飞行"; // // 自定义飞行ToolStripMenuItem @@ -1349,7 +1349,7 @@ this.属性标注ToolStripMenuItem, this.标注管理ToolStripMenuItem}); this.标注ToolStripMenuItem.Name = "标注ToolStripMenuItem"; - this.标注ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.标注ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.标注ToolStripMenuItem.Text = "标注"; // // 标高标注ToolStripMenuItem @@ -1436,7 +1436,7 @@ this.关联查询ToolStripMenuItem, this.关键字查询ToolStripMenuItem}); this.查询ToolStripMenuItem.Name = "查询ToolStripMenuItem"; - this.查询ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.查询ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.查询ToolStripMenuItem.Text = "查询"; // // 空间查询ToolStripMenuItem @@ -1522,7 +1522,7 @@ this.附属物分类统计ToolStripMenuItem, this.标识器分类统计ToolStripMenuItem}); this.全区域统计ToolStripMenuItem.Name = "全区域统计ToolStripMenuItem"; - this.全区域统计ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.全区域统计ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.全区域统计ToolStripMenuItem.Text = "全区域统计"; // // 管线长度统计ToolStripMenuItem @@ -1601,7 +1601,7 @@ this.附属物分类统计ToolStripMenuItem1, this.标识器分类统计ToolStripMenuItem1}); this.绘制区域统计ToolStripMenuItem.Name = "绘制区域统计ToolStripMenuItem"; - this.绘制区域统计ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.绘制区域统计ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.绘制区域统计ToolStripMenuItem.Text = "绘制区域统计"; // // 管线长度统计ToolStripMenuItem1 @@ -1675,7 +1675,7 @@ this.道路断面分析ToolStripMenuItem, this.基线剖面分析ToolStripMenuItem}); this.断面分析ToolStripMenuItem.Name = "断面分析ToolStripMenuItem"; - this.断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.断面分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.断面分析ToolStripMenuItem.Text = "断面分析"; // // 横断面分析ToolStripMenuItem @@ -1717,7 +1717,7 @@ this.连通分析ToolStripMenuItem, this.爆管分析ToolStripMenuItem}); this.拓扑分析ToolStripMenuItem.Name = "拓扑分析ToolStripMenuItem"; - this.拓扑分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.拓扑分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.拓扑分析ToolStripMenuItem.Text = "拓扑分析"; // // 创建拓扑ToolStripMenuItem @@ -1779,7 +1779,7 @@ this.隐藏隧道ToolStripMenuItem, this.删除隧道ToolStripMenuItem}); this.开挖分析ToolStripMenuItem.Name = "开挖分析ToolStripMenuItem"; - this.开挖分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.开挖分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.开挖分析ToolStripMenuItem.Text = "开挖分析"; // // 多边形开挖ToolStripMenuItem @@ -1831,27 +1831,27 @@ this.可视域分析ToolStripMenuItem, this.可视包络分析ToolStripMenuItem}); this.视域分析ToolStripMenuItem.Name = "视域分析ToolStripMenuItem"; - this.视域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.视域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.视域分析ToolStripMenuItem.Text = "视域分析"; // // 通视分析ToolStripMenuItem // this.通视分析ToolStripMenuItem.Name = "通视分析ToolStripMenuItem"; - this.通视分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.通视分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.通视分析ToolStripMenuItem.Text = "通视分析"; this.通视分析ToolStripMenuItem.Click += new System.EventHandler(this.通视分析ToolStripMenuItem_Click); // // 可视域分析ToolStripMenuItem // this.可视域分析ToolStripMenuItem.Name = "可视域分析ToolStripMenuItem"; - this.可视域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.可视域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.可视域分析ToolStripMenuItem.Text = "可视域分析"; this.可视域分析ToolStripMenuItem.Click += new System.EventHandler(this.可视域分析ToolStripMenuItem_Click); // // 可视包络分析ToolStripMenuItem // this.可视包络分析ToolStripMenuItem.Name = "可视包络分析ToolStripMenuItem"; - this.可视包络分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.可视包络分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.可视包络分析ToolStripMenuItem.Text = "可视包络分析"; this.可视包络分析ToolStripMenuItem.Click += new System.EventHandler(this.可视包络分析ToolStripMenuItem_Click); // @@ -1862,34 +1862,34 @@ this.缓冲区分析ToolStripMenuItem, this.无源淹没分析ToolStripMenuItem}); this.区域分析ToolStripMenuItem.Name = "区域分析ToolStripMenuItem"; - this.区域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.区域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.区域分析ToolStripMenuItem.Text = "区域分析"; // // 附属物分析ToolStripMenuItem // this.附属物分析ToolStripMenuItem.Name = "附属物分析ToolStripMenuItem"; - this.附属物分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.附属物分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.附属物分析ToolStripMenuItem.Text = "配件分析"; this.附属物分析ToolStripMenuItem.Click += new System.EventHandler(this.附属物分析ToolStripMenuItem_Click); // // 缓冲区分析ToolStripMenuItem // this.缓冲区分析ToolStripMenuItem.Name = "缓冲区分析ToolStripMenuItem"; - this.缓冲区分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.缓冲区分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.缓冲区分析ToolStripMenuItem.Text = "缓冲区分析"; this.缓冲区分析ToolStripMenuItem.Click += new System.EventHandler(this.缓冲区分析ToolStripMenuItem_Click); // // 无源淹没分析ToolStripMenuItem // this.无源淹没分析ToolStripMenuItem.Name = "无源淹没分析ToolStripMenuItem"; - this.无源淹没分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.无源淹没分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.无源淹没分析ToolStripMenuItem.Text = "无源淹没分析"; this.无源淹没分析ToolStripMenuItem.Click += new System.EventHandler(this.无源淹没分析ToolStripMenuItem_Click); // // 清除分析ToolStripMenuItem // this.清除分析ToolStripMenuItem.Name = "清除分析ToolStripMenuItem"; - this.清除分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.清除分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.清除分析ToolStripMenuItem.Text = "清除分析"; this.清除分析ToolStripMenuItem.Click += new System.EventHandler(this.buttonItemClear_Click); // @@ -2170,12 +2170,12 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel12); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); - this.ribbonControl1.Controls.Add(this.ribbonPanel6); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; this.ribbonControl1.ImeMode = System.Windows.Forms.ImeMode.NoControl; @@ -2244,6 +2244,7 @@ this.ribbonPanel12.StyleMouseOver.Class = ""; this.ribbonPanel12.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel12.TabIndex = 34; + this.ribbonPanel12.Visible = false; // // ribbonBar18 // @@ -2731,6 +2732,76 @@ this.buttonItemPasswordReset.Text = "重置密码"; this.buttonItemPasswordReset.Click += new System.EventHandler(this.buttonItemPasswordReset_Click); // + // ribbonPanel4 + // + this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel4.Controls.Add(this.ribbonBar1); + this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel4.Name = "ribbonPanel4"; + this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); + // + // + // + this.ribbonPanel4.Style.Class = ""; + this.ribbonPanel4.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel4.StyleMouseDown.Class = ""; + this.ribbonPanel4.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel4.StyleMouseOver.Class = ""; + this.ribbonPanel4.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel4.TabIndex = 36; + this.ribbonPanel4.Visible = false; + // + // ribbonBar1 + // + this.ribbonBar1.AutoOverflowEnabled = true; + // + // + // + this.ribbonBar1.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar1.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar1.BackgroundStyle.Class = ""; + this.ribbonBar1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar1.ContainerControlProcessDialogKey = true; + this.ribbonBar1.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.btn_document_info}); + this.ribbonBar1.Location = new System.Drawing.Point(3, 0); + this.ribbonBar1.Name = "ribbonBar1"; + this.ribbonBar1.Size = new System.Drawing.Size(88, 59); + this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar1.TabIndex = 0; + // + // + // + this.ribbonBar1.TitleStyle.Class = ""; + this.ribbonBar1.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar1.TitleStyleMouseOver.Class = ""; + this.ribbonBar1.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar1.TitleVisible = false; + // + // btn_document_info + // + this.btn_document_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_document_info.Image"))); + this.btn_document_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_document_info.Name = "btn_document_info"; + this.btn_document_info.SubItemsExpandWidth = 14; + this.btn_document_info.Text = "文档管理"; + this.btn_document_info.Click += new System.EventHandler(this.btn_document_info_Click); + // // ribbonPanel15 // this.ribbonPanel15.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -2756,7 +2827,6 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; - this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3211,76 +3281,6 @@ this.buttonItemXT4_2.Text = "人员修改"; this.buttonItemXT4_2.Click += new System.EventHandler(this.buttonItemXT4_2_Click); // - // ribbonPanel4 - // - this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonPanel4.Controls.Add(this.ribbonBar1); - this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); - this.ribbonPanel4.Name = "ribbonPanel4"; - this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); - // - // - // - this.ribbonPanel4.Style.Class = ""; - this.ribbonPanel4.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonPanel4.StyleMouseDown.Class = ""; - this.ribbonPanel4.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonPanel4.StyleMouseOver.Class = ""; - this.ribbonPanel4.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonPanel4.TabIndex = 36; - this.ribbonPanel4.Visible = false; - // - // ribbonBar1 - // - this.ribbonBar1.AutoOverflowEnabled = true; - // - // - // - this.ribbonBar1.BackgroundMouseOverStyle.Class = ""; - this.ribbonBar1.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonBar1.BackgroundStyle.Class = ""; - this.ribbonBar1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar1.ContainerControlProcessDialogKey = true; - this.ribbonBar1.Dock = System.Windows.Forms.DockStyle.Left; - this.ribbonBar1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.btn_document_info}); - this.ribbonBar1.Location = new System.Drawing.Point(3, 0); - this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(88, 59); - this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonBar1.TabIndex = 0; - // - // - // - this.ribbonBar1.TitleStyle.Class = ""; - this.ribbonBar1.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonBar1.TitleStyleMouseOver.Class = ""; - this.ribbonBar1.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar1.TitleVisible = false; - // - // btn_document_info - // - this.btn_document_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_document_info.Image"))); - this.btn_document_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.btn_document_info.Name = "btn_document_info"; - this.btn_document_info.SubItemsExpandWidth = 14; - this.btn_document_info.Text = "文档管理"; - this.btn_document_info.Click += new System.EventHandler(this.btn_document_info_Click); - // // ribbonPanel1 // this.ribbonPanel1.AutoSize = true; @@ -3440,7 +3440,6 @@ // ribbonTabItem11 // this.ribbonTabItem11.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem11.Checked = true; this.ribbonTabItem11.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem11.HoverImage"))); this.ribbonTabItem11.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem11.Image"))); this.ribbonTabItem11.Name = "ribbonTabItem11"; @@ -3481,6 +3480,7 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -3841,14 +3841,14 @@ this.dataGridViewX1.AllowUserToAddRows = false; this.dataGridViewX1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; this.dataGridViewX1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle23.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle23.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle23.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle23.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle23.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle23.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle23; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(0, 5); @@ -4124,14 +4124,14 @@ this.dataGridViewLineList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn19, this.dataGridViewTextBoxColumn20}); - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewLineList.DefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle24.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle24.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle24.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle24.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle24.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle24.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle24.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewLineList.DefaultCellStyle = dataGridViewCellStyle24; this.dataGridViewLineList.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewLineList.Location = new System.Drawing.Point(9, 155); this.dataGridViewLineList.Name = "dataGridViewLineList"; @@ -4219,14 +4219,14 @@ this.dataGridViewTextBoxColumn24, this.dataGridViewTextBoxColumn25, this.水平净距}); - dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewAnalysisResult.DefaultCellStyle = dataGridViewCellStyle3; + dataGridViewCellStyle25.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle25.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle25.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle25.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle25.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle25.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle25.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewAnalysisResult.DefaultCellStyle = dataGridViewCellStyle25; this.dataGridViewAnalysisResult.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewAnalysisResult.Location = new System.Drawing.Point(8, 310); this.dataGridViewAnalysisResult.Name = "dataGridViewAnalysisResult"; @@ -4461,21 +4461,21 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn10, this.dataGridViewTextBoxColumn11}); - dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle26.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle26.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle26.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle26.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle26.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle26.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle26.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle26; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(12, 127); this.dataGridViewX2.Name = "dataGridViewX2"; this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(26923, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(27517, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -4555,21 +4555,21 @@ this.Column6, this.Colomn12, this.Column5}); - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX3.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle27.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle27.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle27.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle27.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle27.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle27.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle27.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX3.DefaultCellStyle = dataGridViewCellStyle27; this.dataGridViewX3.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX3.Location = new System.Drawing.Point(12, 272); this.dataGridViewX3.Name = "dataGridViewX3"; this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(26922, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(27516, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -4813,14 +4813,14 @@ this.dataGridViewX8.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn12, this.dataGridViewTextBoxColumn13}); - dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle6.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX8.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle28.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle28.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle28.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle28.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle28.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle28.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle28.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX8.DefaultCellStyle = dataGridViewCellStyle28; this.dataGridViewX8.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX8.Location = new System.Drawing.Point(10, 120); this.dataGridViewX8.Name = "dataGridViewX8"; @@ -4908,14 +4908,14 @@ this.dataGridViewTextBoxColumn16, this.dataGridViewTextBoxColumn17, this.dataGridViewTextBoxColumn18}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX9.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle29.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle29.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle29.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle29.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle29.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle29.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle29.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX9.DefaultCellStyle = dataGridViewCellStyle29; this.dataGridViewX9.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX9.Location = new System.Drawing.Point(11, 271); this.dataGridViewX9.Name = "dataGridViewX9"; @@ -5191,14 +5191,14 @@ this.dataGridViewX4.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn1, this.dataGridViewTextBoxColumn2}); - dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle8.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX4.DefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle30.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle30.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle30.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle30.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle30.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle30.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle30.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX4.DefaultCellStyle = dataGridViewCellStyle30; this.dataGridViewX4.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX4.Location = new System.Drawing.Point(7, 84); this.dataGridViewX4.Name = "dataGridViewX4"; @@ -5276,14 +5276,14 @@ this.dataGridViewTextBoxColumn4, this.Column3, this.Column4}); - dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle9.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX5.DefaultCellStyle = dataGridViewCellStyle9; + dataGridViewCellStyle31.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle31.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle31.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle31.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle31.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle31.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle31.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX5.DefaultCellStyle = dataGridViewCellStyle31; this.dataGridViewX5.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX5.Location = new System.Drawing.Point(7, 225); this.dataGridViewX5.Name = "dataGridViewX5"; @@ -5477,14 +5477,14 @@ this.dataGridViewX6.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn5, this.dataGridViewTextBoxColumn6}); - dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle10.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX6.DefaultCellStyle = dataGridViewCellStyle10; + dataGridViewCellStyle32.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle32.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle32.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle32.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle32.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle32.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle32.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX6.DefaultCellStyle = dataGridViewCellStyle32; this.dataGridViewX6.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX6.Location = new System.Drawing.Point(8, 111); this.dataGridViewX6.Name = "dataGridViewX6"; @@ -5561,14 +5561,14 @@ this.dataGridViewTextBoxColumn7, this.dataGridViewTextBoxColumn8, this.dataGridViewTextBoxColumn9}); - dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle11.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle11.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX7.DefaultCellStyle = dataGridViewCellStyle11; + dataGridViewCellStyle33.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle33.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle33.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle33.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle33.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle33.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle33.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX7.DefaultCellStyle = dataGridViewCellStyle33; this.dataGridViewX7.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX7.Location = new System.Drawing.Point(9, 262); this.dataGridViewX7.Name = "dataGridViewX7"; @@ -5790,8 +5790,8 @@ this.ribbonPanel5.ResumeLayout(false); this.ribbonPanel6.ResumeLayout(false); this.ribbonPanel2.ResumeLayout(false); - this.ribbonPanel15.ResumeLayout(false); this.ribbonPanel4.ResumeLayout(false); + this.ribbonPanel15.ResumeLayout(false); this.ribbonPanel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.panelOfTable.ResumeLayout(false); diff --git a/MainFrm.resx b/MainFrm.resx index dd1052e..652064d 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,7 +351,7 @@ 766, 54 - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -362,30 +362,40 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjEwQ0IxNzBBNEM1QzExRTRBNkNGQzRBMjhDQzI0 + MkY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjEwQ0IxNzA5NEM1QzExRTRBNkNGQzRBMjhDQzI0 + MkY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTEzMDNDMjA1QjRDRTQxMTg4NERE + MUVBOEQ4QTgyNTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz43wa2/AAAFaUlEQVRIS6WUC0xTVxzGKy0UkSmlFGjBFilSkNpSaAWRh63y + sIiAArKs4spLRLQoiEJlSMGoMCc6CBOnYHzMOHUqqOhEHOqCbjNu6kCd6KYje5mZ6KbObd/OuVL3cEzj + /skv997/+b7v39PTW9aj3/BM+OKxPEIZoW/gyrOuPbP+GvRPSNBQQqXYLwSW1etw7cYt5kqfaZ+uD8QM + Xg8f/f4UxGhHMHv4qlG6vAb9394G6T+BPpdV1oCuUx3VD8Q9XT8//PUJRMghlLhLg1C41IK+r/pB+oNC + 16mO6qmP+gdi/6y793+hwTYEk9uoQOSaStHzxQ2Q/nND9XMKy0D9NIfmDcSzaLhI4KXE7LwinLtwGXfu + PXhhqJ/m0DyS62EdUGWpqcf3P97DD3d++t/QnKraBjpghXWAiC+WN0ZNScOe1mP45vbdF2ZvWwdoDs/D + b6ejs6ecxHPoAG/l+Fhkzy+FyCcY0YkG7D/yAW5+d+e5oXrqo36aQ/McnNyjyAAuHWA05pfgzPlehhyT + mflV6FOMaDt2Ctf7bw8KXac6qqc+a4Zx3hLwRLJCZgcJjcPIEPkyIZmeX1SB7vOX0dn9KQy5jw8r8eVc + HOrsxidXP0d9hxlzd4QgeYMzEt7kQVvOR0pFFNpOHmd81E9znIS+dSTc1foVGWfNKUZjyy6Ex6SQl0cD + 09IVxHAFh0+cReqr+QjK8ERqEw+VHWOwoycSR/v1OHwzDlsvhcNCeqkbedAYxQiPm87kZOQVw0nkW0QG + 2DFnIA+JRm3DFpzr/RKNW3ZDE5UAsX8ocizZiFs7DEUHvPFunw4Hb05B+y09jn49lYHe0x5doxqqLVlf + DJrnyB+pIQNs6QAhf6R8tZu3CqpwPdZu2I6PLl3HwnV5iHv9JVSeUOKdqzq81xeDvddiYG73R0aLEIZm + IRa1jUbjxQnYRHa17YqW0VJPwHT3LocRbirrDiymspXo6L6AgiXV8JSNQ2i6GpNWOqK4U4n1n0Vge68W + 9ecmIKnBBSqDCIp4P2RWGDB/QxqS6l1QcToIld3BqDobgsXEQ73+Se5HrGcgdJEokGzIx66DXXi7dRvC + yx2Q2RqApR+GoPbjCag8pUZ6sxjqWRKEldljRr07ZjaKmHt5qpBZKzkeiIJ2BbIPKmA8MIbJUC/ghrM0 + RfYsDtdhqJNIVulK/ku0BQokbfZGZrsKBR3BmEsMOfvl0FY7o7ypDPo1brCcGc+QUCdExabXEFsjQO4B + ObL2BSBlqx8SWwibvBE0334nK3Ael+yEbIW81DZszlhZ2oieuAYvpO5VIHGzP9J2+CN9pz/CzDwExMox + eZUbFnZpkEc+gLZagJjMWOiqXZDVqmC0+kZf6Nb4IHKFCPIsu92sgCw7BlJswjBJLCdenmuPyFUS6Gp9 + oG/yRdJWGSKqhYjKDgLRImK5ACGlzsy9d/zwXn2DBMZDSkZLPaHlnpBncyGO5kxj+Rps/wYdJE2xzfOb + zcU4sye0b0gRu3E0Ypt8ELTICRFGNcShUgjHuZyWxNu2096sdiXS9o1ltNQjyyDhes4SkuXEGpXC+Ve8 + kjlzpDPtoCkVQrdOihgyIHmXP6LryGEX86Ba6ISJNR7IeF+JV8gAfbOM0XoTj8dktpmEOxM4rJHTBscz + njNNnMiBagEfU98ajRnbZMg7GojCk2oGU1cw5nUGw7BHAZWJD6oVhLFzSDCPCacljGP/J7xAm6Hu0ew6 + STIXkcvckN7ig8XHVCjvUiNvdwAmW0Twms6FayS7meM4REoihxPoeT4u10nsZ0LKhhdsIxZEsVcLtOyL + pHffVcd+IJjI7uGHsRscJEPURMMn2FMtNTwuFusPrjFl48ji7nIAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -396,32 +406,32 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUyMTg3NjEyNDlEODExRTQ4NjNGQjM2Mzk1QkNB + RkQwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUyMTg3NjExNDlEODExRTQ4NjNGQjM2Mzk1QkNB + RkQwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkJCNTE0NDlEODQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5e5MstAAADiUlEQVRIS+2UW0yTdxjGcePwtYyVVpAUCi1tv9ImrVbxhAei + kjGphAgFT4jzEJ0gGuJhDk0sml0sglmWmC1hqHNKWwI4srgNh3phpjg1O1yIN5DMbFHQZUu42O76+D4f + 3Fl6Z7ILn+SXvH3f533++X/98iUBeKW81v9Uwx1G1+1240EhfKfdeE/4U3qTAqaZZO/2aeN9IXLrY+Ph + wVOZHll9YyohgYZOGS4JsYdXVDy+NQ8Tvy3BP6OlmPyjDP9OBDRYs8cZPfRy5/uQISIRqcIsLSye+j7I + wN+PluOvhyWY+NmL8fsOjP9kxdN7BRh/YJHfFjy5m48nd4ThQjy968bEgwV49usicFciTEKKFhZPXXv1 + eHxtLsYGPBjttwsWjF0xY+ybOfj9uylYs8cZPfQS7kpEnqDTwuLp9GYlfKZeifUfzcb1j/Iw/IkNv3Q6 + MfKVC6O9bg3W7HFGD73cORlMG5AIizDzAaVtunD5ESXWfNSEY/tNCO00oG1zOkJBBSeqUjVYh6R3Qmat + zSY0Hjah7IASW7hPuSoRvIGihcVTSauCppvFODRUjJZvPWgaKMTuXgt2RHOxLTwHDd3EjPfCudgesWJX + jxM7eryo7/Ni8SGFj8gp6LWwePLvS0Og043A5y5UdtkQOJeLivM5ePf8bJSfM04zG2u7chDoysW6Thsq + zqpY0+GAvymNB/gEgxYWT64tKdGihpSYv8WEpSEzVp0pwDuf2SVQReCiS4M1e5zRQy937NXJ1yRirjDz + AVmVJyNZa9+PObauh7ptKdR6FY6N2SisTYe1OlmDNXtqvRNqwxLYt1TCVLY1ZijZOSQRbuEtLSyeTOXH + sfLDH1EauoFFx6/Cd6Qf7pYI1ObLsO+9iMLdF+DccwEuqd2Nl+Br6sbCxiiKd/XBuPogH1HiAzJXHMC8 + YA98td1wb4rCuaEH1roo8oMR5JGaMPIFa10Ejtowiuouw1vzJTwVXyBz+X4ekPgRZfgbohkLtsfMy47B + tqYdakUnPFUM6YUv+LUGa/Y4o8e8rBXcSffWDkpE4j9ZpEvNmb9KsZV16BzrBnVq1YjeVf1MX1Tzn74o + iCmkdq1/LrNHOkfgB6Vg9afJRrVOdv2ClRkMmklvCnyPs4V8ge81v5RegddnCGHNHmf00JslcJcZCcWv + IU1pAhcyhLcFXj1zGtbscUYPvdyZ+Uv6Wi8rKekFBjoX2627by8AAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -432,22 +442,24 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC - RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo - KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O - 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd - rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o - 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C - s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE2Q0VGMDE2NDlEQTExRTQ4NTlCQTI3NTMyOEY5 + NEU2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE2Q0VGMDE1NDlEQTExRTQ4NTlCQTI3NTMyOEY5 + NEU2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjA1MjM3NzFEOTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6UH16BAAABrElEQVRIS63N70tTURzH8fsnKSGCCEIQCBKISMq2iILCgQOL + JUxQAoVKdMGQuwgWFepsMGjFZCMuorsIJV4WFatpvzdr1ZAFsaIHn8559v1eDsI91wevJ/ee7/tjbMRH + fAFwJOWRF6oopTzyQhWlVEdBwRbgUhICAnuvilKGtXDGzW6WV/CvbjE/xTfxr+R6q4xSxtP5YTf8rVn4 + s5dG+809Rv5zvVVGKaNwfYgyBfhksoH83CCF9seiL7LBBnLXTlP4/W4dza0ZLS0nCdlgA9npAQq/qk/Q + sKa0NJ8nIBtsIBPrp9CqPMJBYVLLj+04ZIMNrF49ReHwVRafH1/R8m3zJmSDDdy/fJJC88Ua3mcjWurW + LGSDDaQifRS+O8uopsNaPhVnIBts4E64l0Jj5y4qDy5q+ZCPQTbYgHmph8LXZ0m8TJ3Xsp+LQjbYQOJC + N4XadgLl22e1vM1OQDbYwK1zXRS+lBbhmEHsLgU8kTeVh+OQDTawEDpB2U4mitfpMS22GYJssIH5QCcV + FGwBmuRtkA3cGO3whcZUlEdeqKKU8sgLVZRSfjw+MP4DJ2GPpDR9OIsAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -458,362 +470,25 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI - jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs - FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm - LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml - CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV - hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q - bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX - YCSg/AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL - SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 - 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P - zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 - 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj - L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 - RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf - nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P - 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj - ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G - xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H - dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 - LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob - gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 - ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi - UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd - XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 - 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN - jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF - Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn - ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 + 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f + 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 + uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 + SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD + bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 + 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG + TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX + 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj + p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY + RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB + lh7gOXXZq9sAAAAASUVORK5CYII= @@ -1063,51 +738,7 @@ 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjEwQ0IxNzBBNEM1QzExRTRBNkNGQzRBMjhDQzI0 - MkY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjEwQ0IxNzA5NEM1QzExRTRBNkNGQzRBMjhDQzI0 - MkY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTEzMDNDMjA1QjRDRTQxMTg4NERE - MUVBOEQ4QTgyNTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - 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 @@ -1119,24 +750,29 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZCNzIxMDY4NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 - QTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZCNzIxMDY3NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 - QTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6N9zpwAAAB70lEQVRIS7WTTShEURTHZyIfk0zRlPKxs7SwsZWFvSQbC0lW - CsNuMMjK9+4tWKAksbCxsWIjipIis3gWhpSPhZTkq+Oc+8697ntz53mFf/3mzDvn3P9/5r2ZEAD8K8bm - X2Js/iXOi4+2qqIWAsgpV4tHvgocsFlZDA8byyDq+pKoPPJV4IC18iK4XV0AUVfmReWRr1wBi2URC4Fs - 3MzPcZ3NmHlQt88VYMUKID0zBunpUUhPJh3oWvamRkDsTCQh1deJPeoj2Kee3KUd9ncHTJfkgT3YC/ZQ - H9jJ/m8SPWAPx8V7sYP1pL3Z6cldek9nEdphf3fAeDTXQiAbB02Nop7FuzJmOoni3GX2/5ZI8VGiKAd2 - G+qA6nFHq6g8CqafAgYiYQuBeCScotpdGBafsrSqxkJAw/z/+Ckgm8j0/RMUdM0jt34T8PL2oeCAfGeq - iQKy4ScyfHp+VXBAzJlqMhlLdKGB957D/eOzwjtDnGdiMpbookPXd4+BoX1x0GQs0UUH7Kv7wHBAvtFY - oosOnF7cBIYDYkZjiS48kPEMjs4vFd5ZtKx6G49VGI0lBtGvpB5pIZO9E1tB19hvoxlDe8G/AYt+5xRS - QYY7hykFB9TSjKG94M/AKzLc3j9TcAAZu2UylvgJDV3PRN1zl0KhL06k1hGgG+rkAAAAAElFTkSuQmCC + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1148,37 +784,30 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBCREI4OERDNEFENjExRTRBMDIyRjhCMTI2OTg1 - QzRCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBCREI4OERCNEFENjExRTRBMDIyRjhCMTI2OTg1 - QzRCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjY3NUQ0QkNENDRBRTQxMTk3NEFD + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5EAI7UAAAEwElEQVRIS6WVf0yUdRzHv/f7nueeu+cO4UQEIdnNarXUyLUa - IqdOJggklBBuYoDGLw8UFJWTmBYYDEFQiARJgakJOAQHVF5UgIgobYkFRDFdNPgjx3LFr/v2+VzHI9gP - 2fhsr32ez4/n/eX78Pnel/QUOSyIp1p3gcNCkXflOxy6le8wCM8T8Hznq+O6CJCWAiJy84RuIbCdebqW - weYX6J1SZ3ojTzcCOWvfFQP9MlubCwvISUeubt60fagLb8/RdX6SrHGpTtVw8Px5f+Pz1JKlbYz3Z9aA - oGv6NpU37KDv3uXltO4wH0W+Pq6dF61Z2h3gp1qztQ/MYewKiC0/1D9HmzL5CoVM5AriekADsEXvcmu6 - ivX0+gfau8TyPv9UvjjKvwN+6vox/n5GOGtszuTbemtX0Aazptwu7ggwgBgQARLo/Q2YJC2Z/P/SlMFH - gZ9ufo8fyghjjQ1mvqOn2oPWpM0RV9qFbdZo5g3wjvXaEX4QAs1/cjVdEwPe2pCu+flgCGOsO6jp7D7n - Ti+kqM/IpUQQr9qr1kOf5G9xjRx2Zrld7UnLE7lMciVN/a/UHVDvBm8F/1NqMGO8lKK+eeOMG61M4krt - 4otQvPaAOgD6/oS6OdJXoapLU9d0nVtOL+zjruo4kTu5lML9g4v7uHjwVvCDyVuUxqokruubYldaFq86 - DaJLZ8RBJBj6xi+mcKOZYYyxOpmrby/3oOdNXJ2eF7tDjyOpMnFzqNzDJYK3gh9I3Kz0rUjgui0FS2nx - LtWp2eLn93BboW+80sSNpAYxfuVxqqbWIjdaFqeq1alEy6DHCWDI2TiVQHmsygTeWhar6o9cp3jt492q - 7pbcJfTkTrZwlrgC6qEB3u7Ti5a9SGcI8zfQ4hi2RjtbHKeqdBdr46MY1gTeWhLN9gV5yVblbGeyPst1 - ofmRzFloFMRLYtg3oW8CRSenqQDGWtYmPntkCSnaySArgcnCSGY42EvmBWnngh1Ma1mChga+LHsFYvyL - lCcjmbfsfb+i4B8TUwIYQ48L8Fgc7cR2JcmLUFZ+mq6n+wMUMZBaAqhzwpXF9UedqTlYkbHaQ7I4921l - IvROQe9w1Dr5RhQcezQuYF8Ap+uxONrxMCUymr1NOcLIbVvUAdK4DXI95IYuH9ZTqFtD/QzC955h9OEj - gSdrAE4cIcdCFMhk5huKHghxiyyAp1Ic7SMzmAMV1VDrxZcejDycN9gPGoRkBMnJkUB5LzDmqRc/Aykl - 5hAwPJ0qwBFfGLg/Om/sCyjIIX8Z2e8nS6mId6BJG2UlkOQAEebtJo54VWpb4Lsff5k39gWcUJwYn5Uw - KZtk7fBsNa2XFUKMd6EIYhHkN4HvDzR6znxbgVv3hgSerPHOhmbQcCV7N+DNRkQhqyUuJqO0owx2Arnf - k9dLb4Mfzo/mMbbGrpWeEovIS9C7BQhHkbZvBwQwhjxelaF2fAAnYvKV2gATG/QiPvp1aVqCj7QXcpPA - WNxa6bWQlZKtUMfDhiOMo+iGgpau7wXsC6yy1xE8OwqS4CMRAMMZxt92HNXFAE4VimIz3lb4n7f97qNg - c8ddAfsCKDzXYr0lcwBDAdySAsBTiQuiMBaFSwUET6PoDMI3n2OE/AXV7wtcYQSjewAAAABJRU5ErkJg - gg== + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1190,30 +819,96 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk0MDA4MTVGNEFENjExRTRCNjgzRThBMjlFMzdD - NDk4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk0MDA4MTVFNEFENjExRTRCNjgzRThBMjlFMzdD - NDk4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjk3NUQ0QkNENDRBRTQxMTk3NEFD + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7U3Gz1AAADLUlEQVRIS7WTa0gUURzFV4mKMqVC0XytgabkmiauZOKDwlQk - wswiycAPGoVSFmRFJC0tQX5Ii4VAc9V87KqhGdima33wQSZWoilqaa1u66qwGSKleZo7OzOM4/gI6sDv - Mvfe//8cZu5cCYD/ivgiT889HFQUYFAxy5zE+vnQw8Lc6xWpc7fHVE0ZprRqkGexGoLQmIUexBpYNK7b - YC57BHNlIcizWA1BaMxCD2INLGWudvj2+AFGFDkoddn67wJayo9W1OT5j2py96A+Lxh1dwOhveULar1S - rF5ozEIPwuLmkriapqKQyZmJ04tzllNgoebQq0OnmtWxNcIeoTELPfAL9er4quaikKnZ6ROUYRLaNRFo - vB+MztpDmDGfBFnXF4dONxfHafh9QmMWeuAXahXeXy3jx/FjIhHlV71QnhmEzpyz0Ocepuffxw/A/Dke - WoWPgfpLbf82wLbq5m7jjCkBfU1RaMwNR3tqErpSE9ESLYfuRjjeP5PDNLwfpC72SOgm621YRcKAyhxP - o8UQg6aCvSg8E4CLW2yQzVCaHoCOUjmM/f4gdZERgZsZm5W1LOCym3F6JAJ9tb7QKaNg0qitF626DE3K - aAzpwmHokSEh0md2p4cMPJbdclqCAInminRwVCdfNPZIUZHhguoML7TlJ0N3OwJ1l6SYGJDjXaXvIjGd - /w0OMmcsl0oYoM+PKa664GIabtgFQ7cnPhbI8OaODP0PA2Hs3YeBlzJUnHc2EcO5XwscTMDyMxEGEBqV - B7VPMpwMrVnO84MNfhh64YeBel+0XvcBtT7WoAh7SgxnZn9yMAGOVleexAIILflx9zRZ0u6SlB3QpLvj - WJgP+605Ji2zHMI9CuuZrBRAoGSj3L4Rvdnn6KYxs2XdkPr1BEhy7TegNzONbhg2TK4bJmDTmgHX7GzR - nZZMN/R+Mq4bJsCRDhDCF3XBVOSShTm50k18uvq/cAj3HJy9dVS725oBApG/JJIiiZi0fRjmIHNqPYXs - MZC6td9AIPKfkxA3Yvjq7QAHExBE9hhInfUMVmI1EUNdRx8HE0CMl0rMmGU1UYYqYsrCffMlkkj+AEZF - 7H7+T6nEAAAAAElFTkSuQmCC + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1248,7 +943,7 @@ A2MdqQeVc5pWAAAAAElFTkSuQmCC - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1282,704 +977,7 @@ SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU3QTU3RDNFNEFBOTExRTRBQ0FFQkQxRTZFOTNF - OTIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU3QTU3RDNENEFBOTExRTRBQ0FFQkQxRTZFOTNF - OTIzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUI3Qjg1NTlBNzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz70M76IAAAENElEQVRIS52SDUxVZRjHD/SBcFOZSgoqKWQQBhjyofdaQQp3 - E+d0Ko4xW8221kLKRC4QRUCJERKklAXEx4UNYYDJh7guAy4IXTTSGyhfFxQklitNZzmD+ve87+WcLnBc - jHf77T3v857n9z/nvEcAMCfG/zYjt2eJbHE2yAUsdvbcSzSxWaxJN84GanyUOMBmsWYhj/d9IRT6tgvw - DAgGrQ/xgAfj/8waJj+ccARPrvZmgkBWk+QvhuLayBiohl7TdTFkt3D/rwnpKf4PamhppicsO10nhgQR - 7zH54PAoyCWha25j+w3CvfvjsjI5WEBj6wVQD05VmUPYZxm4NsprIj0D1+G9UW1+gzt/PJCVycECGvQG - UA+nqlaH3sERac3o7huC14YQJo9hPcKtu3/KysRR47xwP3GRuFPpbD9R4+aIxhAlruZ9DeqdgvHqAMn5 - t+dy7rl5+94MOd+gcXrlgmPVnqtw6bOjMGnzMKTNgakoB5cyP0GNtws64qNB/ZzOrj7xYA9P8fz8690p - YpHy5fPfqiL5YOFXMGaloWbzBlSsWYaaQH8YM9MwlH8SVV4u+OF4FsiBkoo6LHP1YQFqS48w/MvtKWKR - YkdFV0dqMrqz0qF1VPyevdQuedVK947yg2+j1G05DImxMHyciErVOpCDU1RWLYaEih5hcPS3GXJG3lK7 - CVNmKip3bkWWg20m+2TU2FJZ1wRdvAYlgQEwxkXhG8cnQA6JorJaOJpDbJhH6Bu+yRrnEzGESeSEwzz0 - pb6PXC9X+DmtHpusR7v5BGLHcz4oUK7D5cjXkE33sb/GkhXP+LEABQ+4MjjGAmIOaFKga+2UyHBQ4MeE - Q/hiow/yI8J5TRW8izX6Ji9WFGq3q2F45w2kL7IZp5rLNLicBxj7b/A3WPKUFz7KoAPtv8HJ3aaGdvd2 - nN21FUeW2KJ4/6uIWB+A6EWKiqNO9mg/+Cbyt4Xgw4WP6fgvR0OUWiJ09gzzCwrxYiFJn34JqqEutwCJ - 9o/jZJAS1XQOn7+kRNrzHjgeqETD6/tQHhGGD2g/UvFI+KR/hpwhdHQNSQsKiV3rH4zWzl5QHcWaOCQ9 - 7YwEd1eU7t2Bij07+Zyu8keMwnok0s46hbxWZv1DAtoum/gFk3v4bcG3uu9BNYn6qnpkv7IPcSscELXA - BlF21rciba0KI+ZZqSa90pguZwj6zn4mj2PyinPtoLXEd+1dU9ab1GHskDdN+mYM2QBqCGfy8vrzaLzY - I1Fe34q1/lugScmUair1njkF6E8UVEJnuCJRWqsHC6W9WHbw0UkZvK4KMQfIiR4GfwO39UEoPtOEc+3d - KDnTDHffzVzObqDZg4W8m3gMyrkEnD3/E5PEuPkEISPnFMlfZhINq4vQ+lkW4rTGl+0pLPfkpJYItS1G - DjWGEY1sFmuWUN2KyafX5aT/AeFfWm9WHAbkArwAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdFNUQ0ODMzNEQyQTExRTRBNUQ4RTJGMDI1MThC - RTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdFNUQ0ODMyNEQyQTExRTRBNUQ4RTJGMDI1MThC - RTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzJGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz41vT1rAAAEBklEQVRIS7WUbUxTZxTHS2/fb6G1VWjrwltfgGGRdgaxbkLV - FawgoKJuyMDotjCrw4ERHC/CQBjWDRQLSHnfmBnBmkBi/LCY+GEO/TBGtiwxYW775odly5aYLC7573ku - LbasJWGJJ/nl5J7n3N957nNvywPwQnnxEW7qaqjjzSSFXwtH2GIkqNx5hQXNZG+CcD0rCVsMJrBjmh1u - Gc7eMnA5MCSwHomwxQD0Znu7lJPR7LqRBN+iA+XjG0PqgWHhHP8pBKA3vdooxZvD8Vw+PpqAke9zUXNX - j/P3LDg4oOXqZf71SENCLgLQ5qxaCYqvbcSF+9loq0/ClF0Dn0kJn1HB5UnbBrTXJaHlm21wXIrl+v1D - hMGuEDGFNmWeFCPPrcX7d7eg7YgaM+ZEzH/aicWJITyeGMTi+CDmuz/G7OZkbv3wZBrsF+Ow5czSB5B+ - TFSqSmUkZFhUiJjbeb0KBUN6VN6xwHVCBR+R/zQ2gIWeLszuysa0UYPZ3CwsdHfh8Ug/fBnJcB1fh73D - JuQPGJHfr+c8lESn0LIsNrwh/H3rBQ3239yEoi9TYfmERY+ZxYOOVvzQ44Y3kcXbpSy2d8jxTrkc3iQW - c811mGtv5vqs3Sws7hjsuJyEHW4DXqmL47y8hGLBaUutGrv7DCgcT4PzuomjYMQEr1aGxe4O3CxxovZA - LIo+S1nmXJkGn+duxUL9aXg1MhSOkfu8Jjh6jcjp1MNcpYZuFzPI0+Yxpdo9zLw2n/mF8JtuD/NU52RA - 6d0gwaOORngz9LDliJBQIoL+kATGI1I4d0oxasvEd65juEb60ipYpL7FIqWchYmQWhkN5Wa+i7wHnoCg - JhgI6QQzIYOQ6VaJn33bUAPPNivOqUS3RKqoHKkuKl8WH1V4dr1oZmJfHuaq3wXp+0du4h8NEJ3Cr4jZ - xH9PwPKsxEPeNI8nIrCEGILCj7JFKbwzcXAfbh9wok0pfNasEA7XxQirmxRCb6dOiftnqjBS4ECDQniP - 9McGEedHzZvvVUWkKZrZ26wUod9uwwx5D1dybOiyvIyruTZ8daIcU2WH0ETWq1imjMiYFdCTYajIQ0Ak - viBfTutLAjSk6nHjcDGmS0u47N6ehQ/XM3+5ZPyPiIieQvj4+pISf/9ZtCq/PtyJqZPJaEqQ4LxOhMZ4 - CUYr4jF9Sk5/ufwlU4S43RzjIWCtPH3iDL72+HVcBP8z8Car5bRGdyEmyFaD9OLJQ+tzHljxxyM7aJ2s - Lz9JyICrldK14CEQeTbHz7PpoNeXj0qHiFe4pF8xoHW/eE20lIj7SMaP40bQXF8oHiNOegzhn6DmdcGa - +WC3oI9knLILhokvRE4jZEDVa8z/ggSV0mMJkdN4PgC8fwGKe+JSzfQhQQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg4REU0NDQxNEFBOTExRTRBNzQ5RTJDOENEOTZB - MEM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg4REU0NDQwNEFBOTExRTRBNzQ5RTJDOENEOTZB - MEM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUQ3Qjg1NTlBNzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz55z27YAAADl0lEQVRIS+2Ve0xTZxjGTwgt0EN7WrFqh9MFrdVyE3VMuyVj - WTITRTcz5/6YZHEar0A0JBMBRToMl1QEBURsRSheJhFwVC0yjAtEqJe0IhdtLB0a8TbjNMYtYe7Z+zEx - R9egyzT7xzf55fu+93ne50vO6YWzjRP+EwCGxefQv8FXqBhfQ0uJc8R94sGT1UksJ/7h9xUqhqt/WyFm - a0PkO3Bty4XHaoHXuhueqt1wFebBFh0G0gue8/sMFcPVhMqHWFNH4b2Vu9BRlA/bxzNxWDsGtrhYdBTm - w1tRhrqoMJAvUTTDvbCqNfwQnWdyjOgqMsGq4X8tGS0zpoUEhtI+hbS7jsxUOLZkMq1bNPMkZZiyjJYN - 8YenMAe1C+agSB1UKOozsvfFvYeODclgPrH2wirRju0dRB0Id85GmKMmoGC8+ib1vE8Zr7691zAVFxKX - gPme0YahmGB3BBJq04iAAWdGCkpnTUOWUlpJvbFDGFXSPdb5s+FYuwLMJ9ZeAs6f4I1Kid26cD6Ofz4H - 2UrJwGZBYkkXJEm0lue+pUTbulWoiP8EGwXJKfIrXhrHVhWOZAhhtV8Hd2UqpSj7yIAGeg/bPzQgP0aP - HXEGNC9LQM1Xi7CJdPOnsh9b8pQJ7SbVVQqQsHl7ljKGzq0tearE1nxVOu2Psh7TuJPZArYsloU3GYXT - 5rlBA5ka/z8zJk/AwS8/w+EvFgyupvdjsV7wu5vzrtR5bJPCXLNesYzmHjd/J9xrL9WgYCn/wYksoY3O - j4jfGjcLjcXLgw0smzuSJkdyfODU2lR5m6dpCnrqImCaKR34NsTvcaraH+mhEpTOG4nyBNm9+jT5gwMp - wRW7VvMr2y3jcMs5DT1HI1C3Qd5P2u+3zsfgjmsGaP+I9Vg2V53MozKR77Ym8w+99nD0NUbgZ3sEvCci - ccc5C1ebQtHfGoO+5kj0n4mFNYn/pSqJ73M3RuH6T+G4fioaV2xTcMMRi2vNUTSrRy+dr9j0YNlcyTdB - OFsWhl57NNyH9Og0C+jaq0LPvlG4/P2IQdw1IfDUa+jySLh/0MPdQMEt0+Em7dJ+FS6Rt7s6BJ0WARfL - FYSS5nVg2VzuogC4tk9Ex85JuFCshWsH22vJpEXXnknoqSSsOgrS4fJBHYWydTJBj7NKN+jpJC+bYbMs - y1n098qyufR4KV4n9EnjAgg18fwX5FXB+RHsEvbD8jp4U/93+foffXWA+wv9GwQ30fQQcwAAAABJRU5E - rkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI2OTgxMUNFNEFBOTExRTRBQTEyRTc3RTczN0M4 - QkQzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI2OTgxMUNENEFBOTExRTRBQTEyRTc3RTczN0M4 - QkQzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUY3Qjg1NTlBNzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6CerVFAAAEkElEQVRIS6WVe1BUVRzHd7n37rK7LLtsLs/ltbsgb8RBQDTl - FaGW4SDWmI8sLAGRtRUBRUhUXhKPAkOReKwmsQIOEOboOsofKlDDI6UZCaH4wwbTcey/1Pl27oaEiV6r - 78xnzu+c8zvnM3PvzL289kDt/4Izcx36N3CmNUDL8jMphVdLbQ6Q0YLAn17nhDMt/hre1/6aX0ipvFwk - R0+RvIDUQgKf3eOCM81+at4pP/UkKVXnD8hws8MD5/JlJWRulrD7L4IzJ3zceQYfd7Og+xMZ7t0MwUib - Fl25f0vYnufBmUZvV16Dt6tZ0JFjjfujofhtZBF+MGrRvsd6RsL2zQVn6ua78I7PdzELWrOkuDsSjLs3 - vDE1HIyBr9xhzJTOSNjef/JSqfF0NgtO6a0wNRCEO4MLceuiL273B6GvwRUnP7aakbD9T3LU03m64kiV - 1sksMKRb4faVQPTVk0t1Vv39TW6Y7PHHlWMuaEx7VlKtdZquOFKudjQL6lIkmLwYgNOZMsQGMqFfpkou - 9VSrMH7OF5eqVKhNljwlqVA7sgN3DrvZmwVfbBVjotsXJ3RShHrQfgvcKKfabRKTqcwRox1euFDmhOok - 8Yyk1M2ePc6dAldbs6Byswhjp71Rl2yFUC3tQ9akMf60oup9senbQnv82OyJs4UOKN8kmvOdPDf5zsrJ - Y47SXad9rNHtIUenWoZOF9nvhKEzzrJtkb60omyjyNS53xbXGz3QkW+P4vWWLy+pVckfdPq7YbC8CGOG - OowbajHWVIvBimJ0BarR7mxdvsyLVhS/Y2lq22uLoVot2vbZ4WCikFtidJKmtpPLbzUexXBlCbqiw9Dq - YY+uiBAMV5RgvL4G7QFqtDhJ05Z6UoqDCUJTS4YS31dp0JJli7x4DskJB8n1vsJ83KgsRYNKgo61dihY - LUK5o6jE4CC515uXhd5DeSD1CGm3CNdSity3hCZjhi36ytU4qVci+80XSOrsxI/GKgrRtmYlDvlZYqBC - g8JEMV7zpcKOOIgqT0aEYjh7B9i+3SsEipQoZt6GxbR6zyrBtQv7VbhW4o4m3TxkxAnmllQrLR/fLNyH - 4wEaZIQI8E22A/SxzHdZK5iHBa9aoiF8AYa2bwHpI4/jL/ITRNgdxwxlxjEP2vS26CZn6re/Al0M86zk - U4Xwj4EcPY4sXohcDwHK1kuxLphK0kXTY/kawYRh9evo1X2EUoXw8Y4oun1nDD2aFkmfSVpKZadH072p - EbSRzC+T9cnjyQqQ+dOSQ3Kmy7B2Nc4mrMRBGwY5WgZ6Z7ohx535tchRjqs7k1H/Riz2KumfNoVRKanL - 6fMbQqm0LeFUFluvX0Rt/GAJXUAu7kuPosGybdksSa6UWpUnF6AmMhyd5D18tjwcJUE++DwiHKakjTC+ - uw65ZP89sUUSOSCbxmZ6tCbIZ63ZEdjvh5IgIbC/Xx4vRco83iWhHuZ4adD8djxaE9eYx9IlIdBLqEcf - WjH3N8ssJ6YZnzXOrp/sz7CJrJsFJJI4AT8mWcRv1In5U4T7hDtbRXxjtIAfT/ZV/w2e6k+0FURyr64p - kAAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkExMzE0MEIyNEFDRTExRTQ5MjFBQ0MwRThGNTU3 - REFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkExMzE0MEIxNEFDRTExRTQ5MjFBQ0MwRThGNTU3 - REFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RERENjE4NDBDRDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7V3v1pAAABvklEQVRIS6WUMUtCURiGHSKhQSURRbJBIRcbgmjtD7TVL2hv - qCFoaW5oaPI3tERBS+BgEIRR0WCUUEgUgkESYYIhcXrfc++p6+0cPRdfeOD77jnf811vUCg+PTsSQoiB - aIeCoJN60Q4FYWh0Qz6KQBgouhpzcGkYovcttPDM1Zjjk2nftgubzTOX/l+FB15Ep9sbCTpctRP/go/O - 10i4C8KOHfEtGPQHtSKWnjmCNuHYETzsA0nwYrPVDgRnMLsCFumgSMYrJ0iYl19e3wPBGczmAOXGT6QQ - 9cabhLXqTbXqoft7cxUc6BC1p6aEtepNteqhm3KsnuBAh6g+NiSsVW+qVQ+d/YLr+2cJa9WbatVDZ7+g - Uq1LWKveVKseOvsFZzcPEtaqN9Wqh856Qeu4fCXKlzUreDeeKbShs16wt7G9K0qVOyvWtnZENJU7hM56 - QT6ZnRPrWHJQuhAn57daeMY7vDs+EV2FLuVYPdHIJdFkbj6Wzu/jp3+i//3mXiYzhU4kmT2FfBOqBRCR - Um9wUQsyBvhGHFwCy4D/a7zwGc94Jwk40x+dXIFwgG/FRfy+OnjGO//ljE4chMEJhX4AMnDyVRS80DQA - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUyMTg3NjEyNDlEODExRTQ4NjNGQjM2Mzk1QkNB - RkQwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUyMTg3NjExNDlEODExRTQ4NjNGQjM2Mzk1QkNB - RkQwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkJCNTE0NDlEODQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5e5MstAAADiUlEQVRIS+2UW0yTdxjGcePwtYyVVpAUCi1tv9ImrVbxhAei - kjGphAgFT4jzEJ0gGuJhDk0sml0sglmWmC1hqHNKWwI4srgNh3phpjg1O1yIN5DMbFHQZUu42O76+D4f - 3Fl6Z7ILn+SXvH3f533++X/98iUBeKW81v9Uwx1G1+1240EhfKfdeE/4U3qTAqaZZO/2aeN9IXLrY+Ph - wVOZHll9YyohgYZOGS4JsYdXVDy+NQ8Tvy3BP6OlmPyjDP9OBDRYs8cZPfRy5/uQISIRqcIsLSye+j7I - wN+PluOvhyWY+NmL8fsOjP9kxdN7BRh/YJHfFjy5m48nd4ThQjy968bEgwV49usicFciTEKKFhZPXXv1 - eHxtLsYGPBjttwsWjF0xY+ybOfj9uylYs8cZPfQS7kpEnqDTwuLp9GYlfKZeifUfzcb1j/Iw/IkNv3Q6 - MfKVC6O9bg3W7HFGD73cORlMG5AIizDzAaVtunD5ESXWfNSEY/tNCO00oG1zOkJBBSeqUjVYh6R3Qmat - zSY0Hjah7IASW7hPuSoRvIGihcVTSauCppvFODRUjJZvPWgaKMTuXgt2RHOxLTwHDd3EjPfCudgesWJX - jxM7eryo7/Ni8SGFj8gp6LWwePLvS0Og043A5y5UdtkQOJeLivM5ePf8bJSfM04zG2u7chDoysW6Thsq - zqpY0+GAvymNB/gEgxYWT64tKdGihpSYv8WEpSEzVp0pwDuf2SVQReCiS4M1e5zRQy937NXJ1yRirjDz - AVmVJyNZa9+PObauh7ptKdR6FY6N2SisTYe1OlmDNXtqvRNqwxLYt1TCVLY1ZijZOSQRbuEtLSyeTOXH - sfLDH1EauoFFx6/Cd6Qf7pYI1ObLsO+9iMLdF+DccwEuqd2Nl+Br6sbCxiiKd/XBuPogH1HiAzJXHMC8 - YA98td1wb4rCuaEH1roo8oMR5JGaMPIFa10Ejtowiuouw1vzJTwVXyBz+X4ekPgRZfgbohkLtsfMy47B - tqYdakUnPFUM6YUv+LUGa/Y4o8e8rBXcSffWDkpE4j9ZpEvNmb9KsZV16BzrBnVq1YjeVf1MX1Tzn74o - iCmkdq1/LrNHOkfgB6Vg9afJRrVOdv2ClRkMmklvCnyPs4V8ge81v5RegddnCGHNHmf00JslcJcZCcWv - IU1pAhcyhLcFXj1zGtbscUYPvdyZ+Uv6Wi8rKekFBjoX2627by8AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM4QUEwRERENEFENDExRTRBQTE0RThCQzEyOEQy - OTc1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM4QUEwRERDNEFENDExRTRBQTE0RThCQzEyOEQy - OTc1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7dyRkqAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH - prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 - U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB - 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD - QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG - 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU - 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao - GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc - 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 - /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC - Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ - KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o - VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX - 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 - seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt - NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei - /A9dc78cqtG90gAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg0OTgxM0U5NEFCMTExRTRCMjhEQzlDODM2NkRC - RDlGIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg0OTgxM0U4NEFCMTExRTRCMjhEQzlDODM2NkRC - RDlGIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REEyRTIzN0FCMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6v8JhMAAABX0lEQVRIS+2TvUoDQRSFJxCCUeIPYiFI3sA3EGsLEVsROzFV - YoiI+AOCmkrQblLqmMqfdL6BD5B+t0wVyBuIHO/dmXUncdiwZk2VgY+7e8+Zc3eWXfFenBsJALE4NyXB - FWrj3JQEV6iNbZYEUkAKe7VWCiHovT6h99akqjStwWvSXx615/lBV+5zz+zlHCIa0lyekQSYrmoENY5h - nq6S9r0UjaU8Ovd1dO5uiGt4RyV4tRK4T7AeeLzaAbzqvq6khx5+SK1Tz+g6r67124WcJOBfVOGfltHe - 2QTfX83nFFXWI8/5IfyzCtp72z8eHhDplMH67lakX85mGUngY2MdXE8KWWX6Nsaz1ucJl0sPhOPpTIgk - UM5nlNUb5JfHXrZuWkJUpoRYLK5KAimjvyQzAJ9fSBXOtAf8ywmCP5kuxjLAecxR4MyxnmDyilxMXtFQ - +k7wZzgkDuemJLhCIyC+AQJpG34j81bcAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGQUQzMUIxNEFCMTExRTQ4RjdGQUM0QTdFMThE - Qjc0IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGQUQzMUIwNEFCMTExRTQ4RjdGQUM0QTdFMThE - Qjc0IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REUyRTIzN0FCMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7HZq05AAACGUlEQVRIS7WS30tTYRzGp+Vym9vUVVuZ+w+Cuou8DLoLvFFL - yKQf1iQwBpqhbGLrp1l4sbfQMpZgPyiI6DII/wEZJhVdxFCMkv0HEk/v854OnPdwOp6x9YXPeZ69Z9/z - vL98AP4rjoO1xHGwlhgPS71PRoUEVP6OJQ8KCSpE/DPgXTKC8usFUCXq41u/URHs0QLetkeEBCblVwWU - X8wrP9keX7XMzCv6Ct4cCGNzcc7g+ROpj7F+f1J5vnP4wHboAS/bwvi1MAuq6dfuZpQfbEs4boMbDNEC - Fvc34efTPKikdHNM6VwiVOBsLDPzir6CZ/tC+PHoHqgSQX0YDxZ46PyzrdkLesB8PIiN/BSoEmHq3wDH - bXCDPVrA7N4A1h/kQLV5zr76FeT3NGLt1jioyt/JyEPOKj+UiFV/TWdiu1C6MQqluavKfx44idL1ETXm - tA1uMEQLmG7143s2DarymTQ+9XUqf3F381fb7Lygr+B2ix/fRi+DSpZ7TyjNNvtrc01z0QZ8GU6BKhHU - sUiDeU0dt8EN9mgBE5GdWB06D6rhz5m+NrdoPLwDK6l+UA1/BiuX+pQ/3Rqt/hZda6oXEiwdO4LihVMo - DvRi6fhRFM/2gONO2+AGQ7QA1nCoXkhAlvu78LHjsPLd0XD1t8ha6WAdPnQcAnUwUKcO2iyzqRKMh6Wu - BHxCglSjT/s4y97sBePhsezN2wPfH446+pStKAUKAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRBOEM2MzQ3NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 - RERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRBOEM2MzQ2NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 - RERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTMyRTIzN0FCMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6xBZbXAAACOUlEQVRIS9XT20uTcRgH8N+ch22ax7KDOilzGmVhBS2Qojbx - JjSjOyVBMBui1VqYXthBMIqgQF6LNVgidkKQcJJBIBQU3hgOpiR1Ixb4R8S35/fyvvbz7cES7aKLDy+/ - 5/B9djPh9/vXBcCq2CVDjKn9hgtVsUuGjTkQc2exaDnG1a24UBW7JP13B8qJl5SSbFnbsAOjRZlVbw6V - 4m3VAUwc3I0xz1ZQrV4eoK/sSwNE1sOk0qjpuFCVeF6QMRwPBbA0/BhLQ2HM9YQwUrIZp04cn6Ce7D94 - d6Za73/qaAa9w0Zdx4WqRHSb63X86gV80+5isb8Pr7x7oeU7+30+3zj1bsr3onYHie52DBZsQk+e4xjV - 5Z6OC1WJgS2OjzOXW/D+bA3mLjYjEWjEs33F6Cxzf42W5OPLrU7M3wgh4s5Bb25aqxDCRjtyT8eFqsS9 - 3NRzkfJC3M5JHXm6fydmGuswGzyPF0crMN3WhM9d7Yh4duB6dkofhSfRvNxZxoWqRG9WsnSYllPoq0X3 - FGOqzo94awMSl1rwpNKDrszkh0bfnF/GhapEd4bdSnu0azsmfV4MUXgw3T5I4U5mTseFqsQVl83KTu4H - 05N+tDlt4dNptjJLfwUuVCU6HDz5P+DqVlyoil2S/ukBCq8h38nL9WAPUKOCLJAj1h7H+outVgxTaCGZ - JyfV+mq4UJUMNbnIB1Kr1P6IC1WZg3YyShqM91/jQlXmoEYC5tJacKEqc/CaurQWXOgvED8BwmqyacXu - n/EAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ - mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ - Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX - E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 - i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ - CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw - PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT - tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p - uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V - tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN - pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG - Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE0Q0ZGNzdENEFDNzExRTQ4OENERTg3M0ExRkU4 - QTFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE0Q0ZGNzdDNEFDNzExRTQ4OENERTg3M0ExRkU4 - QTFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjAwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6Ak4wfAAADR0lEQVRIS7WUa1BMcRjGG2YYH3ww5NJVyG3GF9KN1U21KblN - yaV8cuvC0IyZInJNIboxZrvJFk1CtZvNlHTVTC1FKxuVRsgsbWyifHi85+xpt+yEY/TM/ObZ/3vefZ6Z - c+YcIwBjymhaSHhx/ifx2dXJR63RaMi9tcff6u92wzatrCLA4OO4GD2aPtaHZqMxym4VF6vXLl97NBUl - oUmSjMSje9Ct7kVi1G40FV6kWQpayrKguJ+Gp9IUNJeksjN2N2qXdpf+o3yYw15nsihymjaZ0w7PpajL - PQ1ZfBAiA1ag9XUHIretQn70ZuQf80NF6m7cPb1Ve47aSDN/SGICEBXkBGVHOw5vF+DOcX/ILgWDyaJI - E20yJ3/nJShNCYQ43B0xgbaI3GJD7oCs/auQESJAxj4XZIS5IDdCiKyDbsgIpTnNzgTa44D3InI75B8R - QhLrByaLIkcW+DosgCjUHaK9zqxnHvSCKIQCI320c45UmolCV+tnwdr94TBZFDmywHOZFf4nFDmyIGDD - /PDOl2XoVEqhyMtk/V94qbgHJ0fTWIr85Rmst474oXmMwc+1UMlusc6X/k9VUHdXQ+hmeYqL1ctv3bzo - tq5GtHTUoV4iYZ0vza9q8ExZSwUWcVysXpvWzokZ/FyHAXU5PhRcZ50vX1Wl6HlXDk9X8wQuVq+N3lbx - z9tr8eRFGSpycljnS4PiPhqay+DpYnaFizXSffXWr5mdMqB+gO8fJei6nsw6X/q6C/CpSwp3Z7N03dd0 - 6Iev0DJN3lKKmsYCSC9fYZ0vlfLbqJIXYbWTabZBgY+Hhfib6i7634vRlhDNOl++vLkG1eubcBOY5BkU - eLub51U25ENWnQnxiZOs80VakYaSymy4CkwKDQq83EwL+99dQ19nEhRHw1jnS29bAj60XoXLipkygwKh - q0lJcXU6cmXxSNy3HzeKL/AiR3oe4qI45BYn0Zs846FBgYfzrHKV8iLePjuHmkM70fnkLG/a5TFQ1p3C - SlvjR7oC0jhigpPjTJHAbnq943JjuYPNqDz+A412y6Y12S6dmk2ZU4iJTMF4YjIxi5hNmHGYc25BMPPh - zCEsCSsO5sxgTcwn5hJM3iTdLRobYPQTdTQPZQeGFN0AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ3RTU5RTMxNEFDNzExRTRBRDBBQ0EwOEMyNjA2 - MTlDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ3RTU5RTMwNEFDNzExRTRBRDBBQ0EwOEMyNjA2 - MTlDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjMwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7q/i/2AAAEZklEQVRIS62S2U+UVxjGv9umCVpkACE4UA2NoLIIKMgSK6DA - sMu+iZRF9tUBYUBUQIIoSnEZsCj7LijEkXVYRKCovbFJY/+IXvT+6fseZkjGdEhNOsmTX97zzTy/Oed8 - EoCvyld/9D/cZ3qgi7Ktj7nZ/r985dKrvdJ+xBJfxkcuTdOzZl29gWC7qeUO9GHB5+U+fF7uxx/aXmLf - F+wXhX8qU3fTetgCn+a74WUjvdbVGwoKy8qRdCkd2fkFQvBxogXvemux0VeH9Z4abPbX0azC1sB1scaC - 32LPYMVDjo1oTzTYmmOhuxbu1tKcrt5QkJmbh4TUNDBZsD3aRIU1ePusigpVu1x/fg2bfbVC8CHqNJZc - bbCkcEO9rQwadRVOWkkLunpDQUbOFcQlp4DJgl+HG7DWXYl3PdWCXKyfWcaC9+HuWHCyxlKQixBMd5Qb - F1zKzMLFhEQwWbBBR/KWClefVlCuCq5TMZPXWbAV5IxZB0vM+x8Xgpm9BKmXMxAZGwcmC/jMlztLsdpV - LrjercRKZxnWSKBVlwjBpv8xaOxlmPM7urOD9hLjgsS0NIRGRYPJgjX6tytUrH1STJIyLD4qFLOeLFj3 - tceMnSk0Xod1Oyg1LuDzDw6PEPcgdkAXuvBzHrSPi7DYkS+49LBglyxY9bTD1KF9mHGXC8GL1nzjguj4 - BASGKMAUO/hFSUX5mHuQQ4I8kuWKeb79CrQ6wRIVj1mb4KWLjU6QZ1wQEROLcxeCwGTBSmc5ZtuyME+C - ufvZWGjPMZhZME+v6JCVCcZPWKNeLsPo7UzjAkVkFPz8A8BkwRKd9ey9n/D6TrqgpvUy5toy8eZuhphZ - oKFXdPK4FQYdLVFHgvHmLOOCoLBweJ/9EUwW8LnPNKdCQ4Lp2ymC+pnJgp4fLNH4vQUeHDGHSm6GoVtp - xgV8/p6+fuIeWPCmLVsUv2xMEnzVlCyKpxoSBVupuNH+IJ7nBkFFsupDZhhu2EPgT+d/6ow3mEJwLxuT - NxMw3ZiM8euxglO3EgUn6uPQZGcOdbIvxuvjoU7xg4oEvapE44Kzgefh5ukFJgumW9IxeSOOymPwoj4W - Y3UXxTxaG71LFo+ooul5HAaqI9FbG29c4HfOH64ep8BkwQwJRmoiMUEC5jgJmCwbro4QQp6Zw8SBaxHo - q4mFm5U0r6s3FPjQBTu7uYPJgombSRhTRWGgMkxwhEo5g1XhYu5Xhu7OoyToqVDsLfCiCz7h4gqmENxI - QP9VBYaqwgQHlArBwcpQ9FWECPLaKEl2nofimTKKBf9+RKe9fXDMyRlMFoyoYtBbHoKuwgB0lwTtsPiC - YA+tPy0MFLM+6oIAdJaGw/WgtKirNxR4eHlDHxb0VkbhUVEwHhcp0FEQDHVJmCDPDwtD8KQ4VJDXmR2U - uznn4WQpaXX14vMNx+Q70wHKJ8rvHNmB/X/TF7eOWUjvHc2lD/81DjLp41GZNEydNpRvWWBNsaU4UFwo - J/+HuFIcJUmy+QdCMju4m8uS2QAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzNzQ2OTA5NEQyNzExRTRBQzE5ODE3QUREMDMz - RkNEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzNzQ2OTA4NEQyNzExRTRBQzE5ODE3QUREMDMz - RkNEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjY4MkNFODIyNjRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7LYcOsAAACTUlEQVRIS5XW3UtTYRwHcP+EoKtuouiii2gXlcRKykHd9KJp - YXhMe9PK2nqFBhG+gTkxX1rjtGah0UVddBEUiPRKJDIsyaY5dNWGbm2uZBgiZvXteR56Hs6Op/N0Lj6w - 33me8/0+nIudkwPA1NLla1UCEkmilliivz9r0CM3KFUuNxZ+wVQi9RX1nmu0qIFYps3ICtSjBZVON+YX - fpsKdN9HTWM7PO1+WtJMrOAZi0IpsmH9X8pR50XM/fhp6mbXPRqsums9aPXdYiU8yyhczd9RApnV6/KR - t70YsXgKwcEQWrydzPvRcVoQ5nlGBZiZnTc19W0Gj3tfYqOjgIlE41nrNIPnGRZMf58zFUukscqWh4c9 - z7F5WxE2bNmJkfGoWJcWpDOzpj5NpmhIZuWaTXjw6Alyt+6CN3BXrEsLkuQRmImnM3j2eoDpfzuMiuMX - 0OG/I9alBZNTGcZut8NmszH0N7+uV37sPNrUbjFLC6Jfpi0pqzqHq74uMUsLIhNphp/+X/g+pfIsmr23 - xSwtCEeTlpQeOYOmjk4xSwuGPyYYo1Nr8X37D59GY1tAzNKCd2MTlpQccqGh1S9macGb0RhjdGotvm/f - QRfqWm6IWVoQDH22ZG+FEzUeVczSgr6hCGN0ai2+r7j8FC43+cQsLXg1OGZJ0YGTuHTlupilBS8GwozR - qbX4vj1l1eTv24FcRyFDMlSeZ1jwNPjBkkKlmoYqBHtRafOywila0Ns/YkmBcoIV6LOoRRdoQU9fyJLd - pdYK/uczRU8882zI+QPBTkk4sL23wAAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z - Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 - 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT - O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 - mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA - mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI - lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j - CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 - +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug - QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb - dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf - 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 - ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 - mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y - tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA - AElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE2Q0VGMDE2NDlEQTExRTQ4NTlCQTI3NTMyOEY5 - NEU2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE2Q0VGMDE1NDlEQTExRTQ4NTlCQTI3NTMyOEY5 - NEU2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjA1MjM3NzFEOTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6UH16BAAABrElEQVRIS63N70tTURzH8fsnKSGCCEIQCBKISMq2iILCgQOL - JUxQAoVKdMGQuwgWFepsMGjFZCMuorsIJV4WFatpvzdr1ZAFsaIHn8559v1eDsI91wevJ/ee7/tjbMRH - fAFwJOWRF6oopTzyQhWlVEdBwRbgUhICAnuvilKGtXDGzW6WV/CvbjE/xTfxr+R6q4xSxtP5YTf8rVn4 - s5dG+809Rv5zvVVGKaNwfYgyBfhksoH83CCF9seiL7LBBnLXTlP4/W4dza0ZLS0nCdlgA9npAQq/qk/Q - sKa0NJ8nIBtsIBPrp9CqPMJBYVLLj+04ZIMNrF49ReHwVRafH1/R8m3zJmSDDdy/fJJC88Ua3mcjWurW - LGSDDaQifRS+O8uopsNaPhVnIBts4E64l0Jj5y4qDy5q+ZCPQTbYgHmph8LXZ0m8TJ3Xsp+LQjbYQOJC - N4XadgLl22e1vM1OQDbYwK1zXRS+lBbhmEHsLgU8kTeVh+OQDTawEDpB2U4mitfpMS22GYJssIH5QCcV - FGwBmuRtkA3cGO3whcZUlEdeqKKU8sgLVZRSfjw+MP4DJ2GPpDR9OIsAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY5QzgyODdDNEFBNjExRTRBQjc4QTlDNkE4RTgy - QzFEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY5QzgyODdCNEFBNjExRTRBQjc4QTlDNkE4RTgy - QzFEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTkwNkVCNzZBNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5gwa99AAAE3ElEQVRIS63Re0xTZxgG8E+WbFMXGSI3K1AElAlRJgFUVNYI - qIAXLiIFKXcjq7IxHajRMYZDRASDAspNBStoy0QKCojcKQJHtAgqCEwnHuY2dCbG/bPk2XeIPdOFxsX4 - Js8ffb5z3l9PPvKuA+B/5c0RRsXT5P2byATa6tBMmTh/bSZbNlneHGFkgbydBZfyDhbETHKKth/RcMh7 - GGFkYVbVCA5euIfDij4QwaZztJ1K88HffzURTd59hBGnMioGkSi7g+SSbpDZG+W0nUbz3oAzqfTfJ5b0 - YX9hJwcoaPtWQBJLCmgYTUJ2kEJaT3J3wvCSRFk/EgrV2Jun4oCfaPtWgC5kBh+l4P5oBs0xiLeRHlpP - cnfm4ef2nbmNuBM9+Ca7jQMu0fZ1QEeTiedfTfB2wtwa3IXrfeFQ3YqATxhR03ri7iYe4Mc8rCw+/xak - x7oRe7SZAhuUtJ324lmdiC4VTxJX7jWxlDBd/WFoU29GvSoI3sGkl3uP5r9AqDw2h0HUkQ7EpDdwQDVt - p718fjVYmb20XZ72GasJ/a2i8BZ6PiXgS8K09wahqccfNW0SrA3SCkjKpVldEB9oQ8TBegqsv7JggfAT - DriQasO+fLYZmsgOzB8be1QR7u/7xYf+2wjTcjMUtZ1uUDb5Y7VYG2AmqQhNUyEgqQnipBoQk/V1PPDj - PPbFbyI87LTG+OgyFO2z/HVk8Hy060r7j322EuZqlycuq9xxsd4D7pu1AiGVoamtWLf3GgK/q+aAqxrg - fLI1+3xsCYZbLcEOOSJv99wJYImz7dQN0YSpux6MimYnlNf5YFWAVmBLte/+BnjuugLvnZcosK6BB763 - ZP8cdcRAvQUeDzggb5eQB7wjCXOpeSkU15whUzpC5K8dqPHdUwuRtBJeXys4oFkDlO2zYJ8+XIz+KnM8 - umOPk3FmPLA2nDAVjW6Q1cxDcaUjVvppA0yD69bGVWHF1nK4xZSCGHu38MAeITs+shBqhSl+6bPDyVhT - HlgdRpjS2kUoqpyPfIUdlvtqBYKuuUkvYkloKVZElHBAuwYojTdjf7+/AMzZ2XigtsEJqYAH3CSEOaW0 - Ra7cGlkyKyzbqBUQN7pGXcCigGK4SIoo4NWhAc7tnMM+uWuNjgIjjNywRG6MCQ+IQgiTp7BFerExMk/b - wXmDdqDFKaQUC/2KYB+QT+/Aq5MHvprNjvXNRetxAwx1CZEbbcwDrsGEyThritQiUyTnCuC0TisQ2LY4 - sBjWnifwuV8O/QLPbg0g227MPlaboTFdHwOqOciJMOSB5WLCpJ02QWKOHpKyzeHgpQ2YE6iy31QES/dM - 2HgeATFa08MDMUbsaI8Al5P00NdoguMSAx5YFkiYlHwBdqfPQsJhfdivIbfptjcAXRoBEfjdnOeZRYFD - sHJLAjFYdXfGjOlWvTdOS89EGzwZbDOCut4QndUGyAic+UdTfda3urrTLZz9iXp35qeIS9HF9sSZsFtF - Bug+Mxp9bjk3c2kciKGHkhi6D5JZomFi4DpM9F1qaL+0pip9b8E2y94s8czx9E1644f89J5mhlnclZf9 - kEzPnW09iJLmvo2IjMxfSX62diG1tHd6tZcf7pO4L5lFY/ha9Ibula15MCSP6leXxPR0Fu7QpLsjz4ee - z6CZ9D1CiM4/X3QnEat9eLkAAAAASUVORK5CYII= - - - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -2026,9 +1024,43 @@ M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= - + - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv @@ -2038,29 +1070,132 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC + RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo + KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O + 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd + rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o + 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C + s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI + jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs + FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm + LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml + CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV + hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q + bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX + YCSg/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC 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 @@ -2072,318 +1207,34 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z - Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 - 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT - O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 - mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA - mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI - lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j - CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 - +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug - QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb - dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf - 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 - ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 - mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y - tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA - AElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGOUFCQzZDNEE5RjExRTRCOUJBREM4MzEzMUQ1 - NzQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGOUFCQzZCNEE5RjExRTRCOUJBREM4MzEzMUQ1 - NzQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODlBOTk3NTY5QzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6aIUJsAAAE0klEQVRIS6WVbVBUVRjH79297/fu3l2EFRCCdBit6YOROU2p - yALioLwkmRiWKCDx5oLyKqy4IwoEgyAYRC4gb/mGmIKBFi8mIBLql2iChnJyhtQPzTh9CKE9PWdDBCOk - 4T/zm+ec5zznv+funmcvcbfUZkG8UAPFNguF6S+yOfBdkc0IjJ/A+M71PG0oWFMASdw6pl0IQl+h9upI - 22voToU9ulmofQg5y9BFN9SZqymAD2CI3gLtvOn+RLu9J1/bdypR7diQrJZg/PVwy6uoI0fTEruJXw2G - TpnbxLXwBEM/nF+KmjLkcOLbPM286MrR7IQ40ZWruW8MEZbDvOPHS6+gVpNczdKkE5jrADUglH4sre4v - 06H2o5rviY4j8gv55rC8G+JEe7b8a9Z2Qd9mkrsHLyxHzUZ15aS5LcADCoAElFD7OzBOXDXJc9KaJYdD - /KvtkHwvK0TQNxvl3rsNrqgxbYY5N2lsVYtRdoM9lisH5RGYqP+Ty5nqSIiW5kz1L+nBvL4pXd03UOOC - TiepTjIUMWVev0+lgzrlP+ZqBp6s43bDMlQZL5mIi2mqWWlKVUVBtED8OTmI159NUt26edIZ1SVIFZPm - i7D5hVTVZqj7E9aNYZ6s2JSmauyvWYpO75cuayXShTibJP2LM/ulWIgWiCOJ/py+PkHqv1HmhMyx4qdg - uuSpOZgEQd3YmSTpkSmE1zckSpd6Kl1RrUFq0skKF6ixJeoN0gzq9krxEC0Qf4r34zyr46SBjuIlqGyP - eGK6ee1eaQvUjdUZpIfJgfzGyhixtavUGZljxAtakXwJauwAnqiKEaeojBYNEC3maHE4bD379udR4sDV - Agd0fJdQMs2chfX3oG4MTB/s9eN8yiPFa9fyHVBZpNComW6Ob1XFHsHKZ5GCAaKlPEIYClxFv56/g8+5 - VuCIisL4KiicMi+PFLZC3ROofxDry/qU7BbavzpqD4fgz2kEq/n0K0sQpbt4zEpgvCSMHw1aRa+CtH3x - Tr7LHKdGAW/Qb8Icn4g7Hsa/P1n3W5QX41P4Id/x5SEdyg/lTsuzmWMd28ERhaFc3blMHUrZzEZCygFQ - 5W/nyi4dtkfGIDbL3VW5uOADLh5qJ6B2NHw945MXwnU2ZtihnG3cFwJDOsOep/3wzBwLCjGPcrdxD3nG - egotQMV4MzrI3TufoUOwbrl4xBHB/P5Ha+gN2Vu5zrOpdsgUzNXTymf9AMw0x8oOZjHjpnfZuzB1BAQA - d6UiwoN2MwawDbA2mOHPngl0p9ZkBbE3GvbboswAtvY586lOnqGsQIY4GMAMAo+X6RQvQ4rDOQwId6cI - 2K5wULhm+DPdtQmLUKofU0XNxxzrwCaaSNlIJ1XH2qAEH7ocUhJA4jwGpAh9i7JN96OvnwLzfRto87zN - scCc0K9Q8km+dA+MLQYvugTm+F1IwpyEvC/E4ZoUO2Twpiv+lznWPm/8ZiPIYHelo0FP9ZrhSSD3R6IX - dRviaFGEjOeW6HXUCUphNbd2Mt4zuXduGTwpKyCFm46UI96h0uI8qEHIjQOPY9ZRV4JXKrfA+tTfBEBO - 2ze34jyUU4DwNcMG+KouBvCtwn2BGw2/rfAvTz63Z25Fr1XOAIS/V3w0FsBdiT8QG+NFcpb6OUQQfwME - xz0xnqHypQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 - 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f - 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 - uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 - SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD - bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 - 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG - TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX - 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj - p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY - RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB - lh7gOXXZq9sAAAAASUVORK5CYII= - - - - - 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 - TkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ - mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ - Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX - E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 - i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ - CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw - PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT - tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p - uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V - tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN - pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG - Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFQzJGRUI2NEFFMDExRTRCNEQwQzlGQjVEQTAz - Mjk2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFQzJGRUI1NEFFMDExRTRCNEQwQzlGQjVEQTAz - Mjk2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUU3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz71LrnbAAACUElEQVRIS7WTTUgUYRjHh4g+oWyXiF1dESq0XLsUISR9bSQG - C1FGpSIdyktQVIfq4AYd6qBBhzq01xChrEuBCoIf1VoqbOAHae6mSbtWW22Zpm3w73l2BpoZHp2doj/8 - mGHe5/k9zDvzKgD+K4ozt+ifkKR6xCY7SFI9YpMdLCM12cEyUtMCLCWW6Z9ZRl+8ABXEE9eGrXBv3Aa6 - 7yaqec0yXGRBvc9/HF3dfZiZS+HHz18I9YRRdqiaB93UNPPHJDNzcFfZESS+TGF6NmUgOTWjDfFWaio5 - glRP66PWDiS/z4q0dT3nASHSLFJtQgSpnk+R8TgSyWmRycRX3qYUaZarNiEmoZnkyFgMscS3eaEaOk2K - U7UJMQnNvA8PRTAe/ywyMhbnLZojjVu1CRGkepqCd5vweuKDSMPDZqzJLnhJmhzVJkSQ6vHt2F+O/tF3 - GIzGDfSPxuDzV2KlI/s6aVyqTYggNeDwFAYrTp5Hz0AU4eGJNL2Db3Di9CWsXre+nRR7WJOWSZGkhIu4 - SkSIqNPjfVu4fR9Ona1FzbkAthSXwpGz+SMNn+Q1h8d7g+ryNKUxtCBx68zla3jQ8iwjLgTq+G+6rSmN - MYmZizsPHEN77yt09A1nBNfu9VfxH1Wraf/EJC/J3VSMxsedaHsxZIt7zU/BvbRduzW1GtOAhkDdHbSE - Bv6KK/VB0De5r6nVmAaU0Gs20jV9Qu2S5c7vXLU27yhpl6h2Ci0YoKwg8olS4jBRniFcyz0FBDvUCAMW - E1kEHx4+oXbgHu5lB0VRfgP1p66ckfD+bgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBQzA3NjM1NEFEMDExRTRCRDJCQTRBMTUzMERD - QUEwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBQzA3NjM0NEFEMDExRTRCRDJCQTRBMTUzMERD - QUEwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjRGOUQzNUFDRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7wDFMsAAADRElEQVRIS7WVbUyNYRjH2/iSD2behrAK1SJxTpF3hSZSmbxE - qZYT6SjJvL+sMZIZRqGat0hRmyxLXmq1VUoZHbVSspqQKWPGvMzfdT11Hs+5uz/4wIffdt//63/9r/M8 - z/08xwrAf0Uqyhg02kVPpBOviARimMwnIhVFKMzaxsENlzJz0dbegcTjZ0BaiswrIhVFKCwydlsCvv34 - peLtH8xDpsn8WqSiCAWFRcXtxtfvP1U8F63gAXqZX4tUFKGgPkPtXJGcdgUV1bXYsuvgv71FDAWe8PD0 - R8z2BDjp5vKABJlPRCqKUJij22xfdHR+RNenL2hubYfNODceYi3za5GKIhS0MtgQh3cfPqsMH6vjATEy - vxapKEJBq0PWx+P1+08qZdUmLOg+SWmETtbHSEURCtgeErkFbR0fLGh924WT5zJgN2E6D9ov6+0liFBj - kn7WYpTV1KOlvVMlICgSJZW1yrra1IygiFgecovw0fZbhImQOWV5qBFPG1sVnre9U6Eaho3RIX5volo7 - fy1PGaLNsAjUQsbAZSEbUd/yBidTryLCuFNZm+EBxEAiydl9Hk6lZ6HiSSOG2k1iva85p1ewGTL5LVll - wKLAcG64GrBmA2qbXqmQpgzo8c4hsuxdZrB2QJtjESpCZj8i1EnniQvZt1H0sBaPG9oUNu1Q3uZkwT9Y - u2csNiLU4DF8rB4ZuYWoevYSR5Mvw8NrKdbF7kGlqQW+Kw085LCs14xUZKjRmrh08Hg6yp++QGlNI2Z4 - B3LgbOLO6Qs5uFdugut0H9Y2yzIYqchQ06nwTbtR+rhJYdlaIwed6Kn5O7vPx/2HdcjKL8Eop6lc8xUz - mF4CQ+ZDXn7BeFBVj+LqBsTsSuQAi68n7Y8Z4vYp9WOpmcqRJS1C62EsNgyZjOOnLEBe0SPcr6xHIt33 - Ibau3Dxa8A3gI3kx567iS72WD0c6DKRbvNHqgqFi/5GOU3D+RiEKK+qQnl0AGwd3blqo9Wn80ROmeiPj - ZrHiv36nHCO6v7L9zB6xwbjKEI+CMhOyC8rg0P2LorQeEapvtZ84C2cz8xG94xD7j2jrotnOSe+FwLBY - TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL + SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 + 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P + zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 + 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj + L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 + RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf + nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P + 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj + ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G + xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H + dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 + LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob + gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 + ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi + UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd + XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 + 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN + jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF + Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn + ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A + AAAASUVORK5CYII= @@ -3158,6 +2009,1155 @@ AElFTkSuQmCC + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZCNzIxMDY4NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 + QTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZCNzIxMDY3NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 + QTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6N9zpwAAAB70lEQVRIS7WTTShEURTHZyIfk0zRlPKxs7SwsZWFvSQbC0lW + CsNuMMjK9+4tWKAksbCxsWIjipIis3gWhpSPhZTkq+Oc+8697ntz53mFf/3mzDvn3P9/5r2ZEAD8K8bm + X2Js/iXOi4+2qqIWAsgpV4tHvgocsFlZDA8byyDq+pKoPPJV4IC18iK4XV0AUVfmReWRr1wBi2URC4Fs + 3MzPcZ3NmHlQt88VYMUKID0zBunpUUhPJh3oWvamRkDsTCQh1deJPeoj2Kee3KUd9ncHTJfkgT3YC/ZQ + H9jJ/m8SPWAPx8V7sYP1pL3Z6cldek9nEdphf3fAeDTXQiAbB02Nop7FuzJmOoni3GX2/5ZI8VGiKAd2 + G+qA6nFHq6g8CqafAgYiYQuBeCScotpdGBafsrSqxkJAw/z/+Ckgm8j0/RMUdM0jt34T8PL2oeCAfGeq + iQKy4ScyfHp+VXBAzJlqMhlLdKGB957D/eOzwjtDnGdiMpbookPXd4+BoX1x0GQs0UUH7Kv7wHBAvtFY + oosOnF7cBIYDYkZjiS48kPEMjs4vFd5ZtKx6G49VGI0lBtGvpB5pIZO9E1tB19hvoxlDe8G/AYt+5xRS + QYY7hykFB9TSjKG94M/AKzLc3j9TcAAZu2UylvgJDV3PRN1zl0KhL06k1hGgG+rkAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBCREI4OERDNEFENjExRTRBMDIyRjhCMTI2OTg1 + QzRCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBCREI4OERCNEFENjExRTRBMDIyRjhCMTI2OTg1 + QzRCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjY3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5EAI7UAAAEwElEQVRIS6WVf0yUdRzHv/f7nueeu+cO4UQEIdnNarXUyLUa + IqdOJggklBBuYoDGLw8UFJWTmBYYDEFQiARJgakJOAQHVF5UgIgobYkFRDFdNPgjx3LFr/v2+VzHI9gP + 2fhsr32ez4/n/eX78Pnel/QUOSyIp1p3gcNCkXflOxy6le8wCM8T8Hznq+O6CJCWAiJy84RuIbCdebqW + weYX6J1SZ3ojTzcCOWvfFQP9MlubCwvISUeubt60fagLb8/RdX6SrHGpTtVw8Px5f+Pz1JKlbYz3Z9aA + oGv6NpU37KDv3uXltO4wH0W+Pq6dF61Z2h3gp1qztQ/MYewKiC0/1D9HmzL5CoVM5AriekADsEXvcmu6 + ivX0+gfau8TyPv9UvjjKvwN+6vox/n5GOGtszuTbemtX0Aazptwu7ggwgBgQARLo/Q2YJC2Z/P/SlMFH + gZ9ufo8fyghjjQ1mvqOn2oPWpM0RV9qFbdZo5g3wjvXaEX4QAs1/cjVdEwPe2pCu+flgCGOsO6jp7D7n + Ti+kqM/IpUQQr9qr1kOf5G9xjRx2Zrld7UnLE7lMciVN/a/UHVDvBm8F/1NqMGO8lKK+eeOMG61M4krt + 4otQvPaAOgD6/oS6OdJXoapLU9d0nVtOL+zjruo4kTu5lML9g4v7uHjwVvCDyVuUxqokruubYldaFq86 + DaJLZ8RBJBj6xi+mcKOZYYyxOpmrby/3oOdNXJ2eF7tDjyOpMnFzqNzDJYK3gh9I3Kz0rUjgui0FS2nx + LtWp2eLn93BboW+80sSNpAYxfuVxqqbWIjdaFqeq1alEy6DHCWDI2TiVQHmsygTeWhar6o9cp3jt492q + 7pbcJfTkTrZwlrgC6qEB3u7Ti5a9SGcI8zfQ4hi2RjtbHKeqdBdr46MY1gTeWhLN9gV5yVblbGeyPst1 + ofmRzFloFMRLYtg3oW8CRSenqQDGWtYmPntkCSnaySArgcnCSGY42EvmBWnngh1Ma1mChga+LHsFYvyL + lCcjmbfsfb+i4B8TUwIYQ48L8Fgc7cR2JcmLUFZ+mq6n+wMUMZBaAqhzwpXF9UedqTlYkbHaQ7I4921l + IvROQe9w1Dr5RhQcezQuYF8Ap+uxONrxMCUymr1NOcLIbVvUAdK4DXI95IYuH9ZTqFtD/QzC955h9OEj + gSdrAE4cIcdCFMhk5huKHghxiyyAp1Ic7SMzmAMV1VDrxZcejDycN9gPGoRkBMnJkUB5LzDmqRc/Aykl + 5hAwPJ0qwBFfGLg/Om/sCyjIIX8Z2e8nS6mId6BJG2UlkOQAEebtJo54VWpb4Lsff5k39gWcUJwYn5Uw + KZtk7fBsNa2XFUKMd6EIYhHkN4HvDzR6znxbgVv3hgSerPHOhmbQcCV7N+DNRkQhqyUuJqO0owx2Arnf + k9dLb4Mfzo/mMbbGrpWeEovIS9C7BQhHkbZvBwQwhjxelaF2fAAnYvKV2gATG/QiPvp1aVqCj7QXcpPA + WNxa6bWQlZKtUMfDhiOMo+iGgpau7wXsC6yy1xE8OwqS4CMRAMMZxt92HNXFAE4VimIz3lb4n7f97qNg + c8ddAfsCKDzXYr0lcwBDAdySAsBTiQuiMBaFSwUET6PoDMI3n2OE/AXV7wtcYQSjewAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk0MDA4MTVGNEFENjExRTRCNjgzRThBMjlFMzdD + NDk4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk0MDA4MTVFNEFENjExRTRCNjgzRThBMjlFMzdD + NDk4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjk3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7U3Gz1AAADLUlEQVRIS7WTa0gUURzFV4mKMqVC0XytgabkmiauZOKDwlQk + wswiycAPGoVSFmRFJC0tQX5Ii4VAc9V87KqhGdima33wQSZWoilqaa1u66qwGSKleZo7OzOM4/gI6sDv + Mvfe//8cZu5cCYD/ivgiT889HFQUYFAxy5zE+vnQw8Lc6xWpc7fHVE0ZprRqkGexGoLQmIUexBpYNK7b + YC57BHNlIcizWA1BaMxCD2INLGWudvj2+AFGFDkoddn67wJayo9W1OT5j2py96A+Lxh1dwOhveULar1S + rF5ozEIPwuLmkriapqKQyZmJ04tzllNgoebQq0OnmtWxNcIeoTELPfAL9er4quaikKnZ6ROUYRLaNRFo + vB+MztpDmDGfBFnXF4dONxfHafh9QmMWeuAXahXeXy3jx/FjIhHlV71QnhmEzpyz0Ocepuffxw/A/Dke + WoWPgfpLbf82wLbq5m7jjCkBfU1RaMwNR3tqErpSE9ESLYfuRjjeP5PDNLwfpC72SOgm621YRcKAyhxP + o8UQg6aCvSg8E4CLW2yQzVCaHoCOUjmM/f4gdZERgZsZm5W1LOCym3F6JAJ9tb7QKaNg0qitF626DE3K + aAzpwmHokSEh0md2p4cMPJbdclqCAInminRwVCdfNPZIUZHhguoML7TlJ0N3OwJ1l6SYGJDjXaXvIjGd + /w0OMmcsl0oYoM+PKa664GIabtgFQ7cnPhbI8OaODP0PA2Hs3YeBlzJUnHc2EcO5XwscTMDyMxEGEBqV + B7VPMpwMrVnO84MNfhh64YeBel+0XvcBtT7WoAh7SgxnZn9yMAGOVleexAIILflx9zRZ0u6SlB3QpLvj + WJgP+605Ji2zHMI9CuuZrBRAoGSj3L4Rvdnn6KYxs2XdkPr1BEhy7TegNzONbhg2TK4bJmDTmgHX7GzR + nZZMN/R+Mq4bJsCRDhDCF3XBVOSShTm50k18uvq/cAj3HJy9dVS725oBApG/JJIiiZi0fRjmIHNqPYXs + MZC6td9AIPKfkxA3Yvjq7QAHExBE9hhInfUMVmI1EUNdRx8HE0CMl0rMmGU1UYYqYsrCffMlkkj+AEZF + 7H7+T6nEAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU3QTU3RDNFNEFBOTExRTRBQ0FFQkQxRTZFOTNF + OTIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU3QTU3RDNENEFBOTExRTRBQ0FFQkQxRTZFOTNF + OTIzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUI3Qjg1NTlBNzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz70M76IAAAENElEQVRIS52SDUxVZRjHD/SBcFOZSgoqKWQQBhjyofdaQQp3 + E+d0Ko4xW8221kLKRC4QRUCJERKklAXEx4UNYYDJh7guAy4IXTTSGyhfFxQklitNZzmD+ve87+WcLnBc + jHf77T3v857n9z/nvEcAMCfG/zYjt2eJbHE2yAUsdvbcSzSxWaxJN84GanyUOMBmsWYhj/d9IRT6tgvw + DAgGrQ/xgAfj/8waJj+ccARPrvZmgkBWk+QvhuLayBiohl7TdTFkt3D/rwnpKf4PamhppicsO10nhgQR + 7zH54PAoyCWha25j+w3CvfvjsjI5WEBj6wVQD05VmUPYZxm4NsprIj0D1+G9UW1+gzt/PJCVycECGvQG + UA+nqlaH3sERac3o7huC14YQJo9hPcKtu3/KysRR47xwP3GRuFPpbD9R4+aIxhAlruZ9DeqdgvHqAMn5 + t+dy7rl5+94MOd+gcXrlgmPVnqtw6bOjMGnzMKTNgakoB5cyP0GNtws64qNB/ZzOrj7xYA9P8fz8690p + YpHy5fPfqiL5YOFXMGaloWbzBlSsWYaaQH8YM9MwlH8SVV4u+OF4FsiBkoo6LHP1YQFqS48w/MvtKWKR + YkdFV0dqMrqz0qF1VPyevdQuedVK947yg2+j1G05DImxMHyciErVOpCDU1RWLYaEih5hcPS3GXJG3lK7 + CVNmKip3bkWWg20m+2TU2FJZ1wRdvAYlgQEwxkXhG8cnQA6JorJaOJpDbJhH6Bu+yRrnEzGESeSEwzz0 + pb6PXC9X+DmtHpusR7v5BGLHcz4oUK7D5cjXkE33sb/GkhXP+LEABQ+4MjjGAmIOaFKga+2UyHBQ4MeE + Q/hiow/yI8J5TRW8izX6Ji9WFGq3q2F45w2kL7IZp5rLNLicBxj7b/A3WPKUFz7KoAPtv8HJ3aaGdvd2 + nN21FUeW2KJ4/6uIWB+A6EWKiqNO9mg/+Cbyt4Xgw4WP6fgvR0OUWiJ09gzzCwrxYiFJn34JqqEutwCJ + 9o/jZJAS1XQOn7+kRNrzHjgeqETD6/tQHhGGD2g/UvFI+KR/hpwhdHQNSQsKiV3rH4zWzl5QHcWaOCQ9 + 7YwEd1eU7t2Bij07+Zyu8keMwnok0s46hbxWZv1DAtoum/gFk3v4bcG3uu9BNYn6qnpkv7IPcSscELXA + BlF21rciba0KI+ZZqSa90pguZwj6zn4mj2PyinPtoLXEd+1dU9ab1GHskDdN+mYM2QBqCGfy8vrzaLzY + I1Fe34q1/lugScmUair1njkF6E8UVEJnuCJRWqsHC6W9WHbw0UkZvK4KMQfIiR4GfwO39UEoPtOEc+3d + KDnTDHffzVzObqDZg4W8m3gMyrkEnD3/E5PEuPkEISPnFMlfZhINq4vQ+lkW4rTGl+0pLPfkpJYItS1G + DjWGEY1sFmuWUN2KyafX5aT/AeFfWm9WHAbkArwAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdFNUQ0ODMzNEQyQTExRTRBNUQ4RTJGMDI1MThC + RTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdFNUQ0ODMyNEQyQTExRTRBNUQ4RTJGMDI1MThC + RTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzJGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz41vT1rAAAEBklEQVRIS7WUbUxTZxTHS2/fb6G1VWjrwltfgGGRdgaxbkLV + FawgoKJuyMDotjCrw4ERHC/CQBjWDRQLSHnfmBnBmkBi/LCY+GEO/TBGtiwxYW775odly5aYLC7573ku + LbasJWGJJ/nl5J7n3N957nNvywPwQnnxEW7qaqjjzSSFXwtH2GIkqNx5hQXNZG+CcD0rCVsMJrBjmh1u + Gc7eMnA5MCSwHomwxQD0Znu7lJPR7LqRBN+iA+XjG0PqgWHhHP8pBKA3vdooxZvD8Vw+PpqAke9zUXNX + j/P3LDg4oOXqZf71SENCLgLQ5qxaCYqvbcSF+9loq0/ClF0Dn0kJn1HB5UnbBrTXJaHlm21wXIrl+v1D + hMGuEDGFNmWeFCPPrcX7d7eg7YgaM+ZEzH/aicWJITyeGMTi+CDmuz/G7OZkbv3wZBrsF+Ow5czSB5B+ + TFSqSmUkZFhUiJjbeb0KBUN6VN6xwHVCBR+R/zQ2gIWeLszuysa0UYPZ3CwsdHfh8Ug/fBnJcB1fh73D + JuQPGJHfr+c8lESn0LIsNrwh/H3rBQ3239yEoi9TYfmERY+ZxYOOVvzQ44Y3kcXbpSy2d8jxTrkc3iQW + c811mGtv5vqs3Sws7hjsuJyEHW4DXqmL47y8hGLBaUutGrv7DCgcT4PzuomjYMQEr1aGxe4O3CxxovZA + LIo+S1nmXJkGn+duxUL9aXg1MhSOkfu8Jjh6jcjp1MNcpYZuFzPI0+Yxpdo9zLw2n/mF8JtuD/NU52RA + 6d0gwaOORngz9LDliJBQIoL+kATGI1I4d0oxasvEd65juEb60ipYpL7FIqWchYmQWhkN5Wa+i7wHnoCg + JhgI6QQzIYOQ6VaJn33bUAPPNivOqUS3RKqoHKkuKl8WH1V4dr1oZmJfHuaq3wXp+0du4h8NEJ3Cr4jZ + xH9PwPKsxEPeNI8nIrCEGILCj7JFKbwzcXAfbh9wok0pfNasEA7XxQirmxRCb6dOiftnqjBS4ECDQniP + 9McGEedHzZvvVUWkKZrZ26wUod9uwwx5D1dybOiyvIyruTZ8daIcU2WH0ETWq1imjMiYFdCTYajIQ0Ak + viBfTutLAjSk6nHjcDGmS0u47N6ehQ/XM3+5ZPyPiIieQvj4+pISf/9ZtCq/PtyJqZPJaEqQ4LxOhMZ4 + CUYr4jF9Sk5/ufwlU4S43RzjIWCtPH3iDL72+HVcBP8z8Car5bRGdyEmyFaD9OLJQ+tzHljxxyM7aJ2s + Lz9JyICrldK14CEQeTbHz7PpoNeXj0qHiFe4pF8xoHW/eE20lIj7SMaP40bQXF8oHiNOegzhn6DmdcGa + +WC3oI9knLILhokvRE4jZEDVa8z/ggSV0mMJkdN4PgC8fwGKe+JSzfQhQQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg4REU0NDQxNEFBOTExRTRBNzQ5RTJDOENEOTZB + MEM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg4REU0NDQwNEFBOTExRTRBNzQ5RTJDOENEOTZB + MEM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUQ3Qjg1NTlBNzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz55z27YAAADl0lEQVRIS+2Ve0xTZxjGTwgt0EN7WrFqh9MFrdVyE3VMuyVj + WTITRTcz5/6YZHEar0A0JBMBRToMl1QEBURsRSheJhFwVC0yjAtEqJe0IhdtLB0a8TbjNMYtYe7Z+zEx + R9egyzT7xzf55fu+93ne50vO6YWzjRP+EwCGxefQv8FXqBhfQ0uJc8R94sGT1UksJ/7h9xUqhqt/WyFm + a0PkO3Bty4XHaoHXuhueqt1wFebBFh0G0gue8/sMFcPVhMqHWFNH4b2Vu9BRlA/bxzNxWDsGtrhYdBTm + w1tRhrqoMJAvUTTDvbCqNfwQnWdyjOgqMsGq4X8tGS0zpoUEhtI+hbS7jsxUOLZkMq1bNPMkZZiyjJYN + 8YenMAe1C+agSB1UKOozsvfFvYeODclgPrH2wirRju0dRB0Id85GmKMmoGC8+ib1vE8Zr7691zAVFxKX + gPme0YahmGB3BBJq04iAAWdGCkpnTUOWUlpJvbFDGFXSPdb5s+FYuwLMJ9ZeAs6f4I1Kid26cD6Ofz4H + 2UrJwGZBYkkXJEm0lue+pUTbulWoiP8EGwXJKfIrXhrHVhWOZAhhtV8Hd2UqpSj7yIAGeg/bPzQgP0aP + HXEGNC9LQM1Xi7CJdPOnsh9b8pQJ7SbVVQqQsHl7ljKGzq0tearE1nxVOu2Psh7TuJPZArYsloU3GYXT + 5rlBA5ka/z8zJk/AwS8/w+EvFgyupvdjsV7wu5vzrtR5bJPCXLNesYzmHjd/J9xrL9WgYCn/wYksoY3O + j4jfGjcLjcXLgw0smzuSJkdyfODU2lR5m6dpCnrqImCaKR34NsTvcaraH+mhEpTOG4nyBNm9+jT5gwMp + wRW7VvMr2y3jcMs5DT1HI1C3Qd5P2u+3zsfgjmsGaP+I9Vg2V53MozKR77Ym8w+99nD0NUbgZ3sEvCci + ccc5C1ebQtHfGoO+5kj0n4mFNYn/pSqJ73M3RuH6T+G4fioaV2xTcMMRi2vNUTSrRy+dr9j0YNlcyTdB + OFsWhl57NNyH9Og0C+jaq0LPvlG4/P2IQdw1IfDUa+jySLh/0MPdQMEt0+Em7dJ+FS6Rt7s6BJ0WARfL + FYSS5nVg2VzuogC4tk9Ex85JuFCshWsH22vJpEXXnknoqSSsOgrS4fJBHYWydTJBj7NKN+jpJC+bYbMs + y1n098qyufR4KV4n9EnjAgg18fwX5FXB+RHsEvbD8jp4U/93+foffXWA+wv9GwQ30fQQcwAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI2OTgxMUNFNEFBOTExRTRBQTEyRTc3RTczN0M4 + QkQzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI2OTgxMUNENEFBOTExRTRBQTEyRTc3RTczN0M4 + QkQzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUY3Qjg1NTlBNzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6CerVFAAAEkElEQVRIS6WVe1BUVRzHd7n37rK7LLtsLs/ltbsgb8RBQDTl + FaGW4SDWmI8sLAGRtRUBRUhUXhKPAkOReKwmsQIOEOboOsofKlDDI6UZCaH4wwbTcey/1Pl27oaEiV6r + 78xnzu+c8zvnM3PvzL289kDt/4Izcx36N3CmNUDL8jMphVdLbQ6Q0YLAn17nhDMt/hre1/6aX0ipvFwk + R0+RvIDUQgKf3eOCM81+at4pP/UkKVXnD8hws8MD5/JlJWRulrD7L4IzJ3zceQYfd7Og+xMZ7t0MwUib + Fl25f0vYnufBmUZvV16Dt6tZ0JFjjfujofhtZBF+MGrRvsd6RsL2zQVn6ua78I7PdzELWrOkuDsSjLs3 + vDE1HIyBr9xhzJTOSNjef/JSqfF0NgtO6a0wNRCEO4MLceuiL273B6GvwRUnP7aakbD9T3LU03m64kiV + 1sksMKRb4faVQPTVk0t1Vv39TW6Y7PHHlWMuaEx7VlKtdZquOFKudjQL6lIkmLwYgNOZMsQGMqFfpkou + 9VSrMH7OF5eqVKhNljwlqVA7sgN3DrvZmwVfbBVjotsXJ3RShHrQfgvcKKfabRKTqcwRox1euFDmhOok + 8Yyk1M2ePc6dAldbs6Byswhjp71Rl2yFUC3tQ9akMf60oup9senbQnv82OyJs4UOKN8kmvOdPDf5zsrJ + Y47SXad9rNHtIUenWoZOF9nvhKEzzrJtkb60omyjyNS53xbXGz3QkW+P4vWWLy+pVckfdPq7YbC8CGOG + OowbajHWVIvBimJ0BarR7mxdvsyLVhS/Y2lq22uLoVot2vbZ4WCikFtidJKmtpPLbzUexXBlCbqiw9Dq + YY+uiBAMV5RgvL4G7QFqtDhJ05Z6UoqDCUJTS4YS31dp0JJli7x4DskJB8n1vsJ83KgsRYNKgo61dihY + LUK5o6jE4CC515uXhd5DeSD1CGm3CNdSity3hCZjhi36ytU4qVci+80XSOrsxI/GKgrRtmYlDvlZYqBC + g8JEMV7zpcKOOIgqT0aEYjh7B9i+3SsEipQoZt6GxbR6zyrBtQv7VbhW4o4m3TxkxAnmllQrLR/fLNyH + 4wEaZIQI8E22A/SxzHdZK5iHBa9aoiF8AYa2bwHpI4/jL/ITRNgdxwxlxjEP2vS26CZn6re/Al0M86zk + U4Xwj4EcPY4sXohcDwHK1kuxLphK0kXTY/kawYRh9evo1X2EUoXw8Y4oun1nDD2aFkmfSVpKZadH072p + EbSRzC+T9cnjyQqQ+dOSQ3Kmy7B2Nc4mrMRBGwY5WgZ6Z7ohx535tchRjqs7k1H/Riz2KumfNoVRKanL + 6fMbQqm0LeFUFluvX0Rt/GAJXUAu7kuPosGybdksSa6UWpUnF6AmMhyd5D18tjwcJUE++DwiHKakjTC+ + uw65ZP89sUUSOSCbxmZ6tCbIZ63ZEdjvh5IgIbC/Xx4vRco83iWhHuZ4adD8djxaE9eYx9IlIdBLqEcf + WjH3N8ssJ6YZnzXOrp/sz7CJrJsFJJI4AT8mWcRv1In5U4T7hDtbRXxjtIAfT/ZV/w2e6k+0FURyr64p + kAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkExMzE0MEIyNEFDRTExRTQ5MjFBQ0MwRThGNTU3 + REFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkExMzE0MEIxNEFDRTExRTQ5MjFBQ0MwRThGNTU3 + REFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RERENjE4NDBDRDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7V3v1pAAABvklEQVRIS6WUMUtCURiGHSKhQSURRbJBIRcbgmjtD7TVL2hv + qCFoaW5oaPI3tERBS+BgEIRR0WCUUEgUgkESYYIhcXrfc++p6+0cPRdfeOD77jnf811vUCg+PTsSQoiB + aIeCoJN60Q4FYWh0Qz6KQBgouhpzcGkYovcttPDM1Zjjk2nftgubzTOX/l+FB15Ep9sbCTpctRP/go/O + 10i4C8KOHfEtGPQHtSKWnjmCNuHYETzsA0nwYrPVDgRnMLsCFumgSMYrJ0iYl19e3wPBGczmAOXGT6QQ + 9cabhLXqTbXqoft7cxUc6BC1p6aEtepNteqhm3KsnuBAh6g+NiSsVW+qVQ+d/YLr+2cJa9WbatVDZ7+g + Uq1LWKveVKseOvsFZzcPEtaqN9Wqh856Qeu4fCXKlzUreDeeKbShs16wt7G9K0qVOyvWtnZENJU7hM56 + QT6ZnRPrWHJQuhAn57daeMY7vDs+EV2FLuVYPdHIJdFkbj6Wzu/jp3+i//3mXiYzhU4kmT2FfBOqBRCR + Um9wUQsyBvhGHFwCy4D/a7zwGc94Jwk40x+dXIFwgG/FRfy+OnjGO//ljE4chMEJhX4AMnDyVRS80DQA + AAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM4QUEwRERENEFENDExRTRBQTE0RThCQzEyOEQy + OTc1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM4QUEwRERDNEFENDExRTRBQTE0RThCQzEyOEQy + OTc1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7dyRkqAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH + prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 + U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB + 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD + QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG + 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU + 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao + GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc + 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 + /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC + Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ + KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o + VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX + 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 + seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt + NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei + /A9dc78cqtG90gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg0OTgxM0U5NEFCMTExRTRCMjhEQzlDODM2NkRC + RDlGIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg0OTgxM0U4NEFCMTExRTRCMjhEQzlDODM2NkRC + RDlGIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REEyRTIzN0FCMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6v8JhMAAABX0lEQVRIS+2TvUoDQRSFJxCCUeIPYiFI3sA3EGsLEVsROzFV + YoiI+AOCmkrQblLqmMqfdL6BD5B+t0wVyBuIHO/dmXUncdiwZk2VgY+7e8+Zc3eWXfFenBsJALE4NyXB + FWrj3JQEV6iNbZYEUkAKe7VWCiHovT6h99akqjStwWvSXx615/lBV+5zz+zlHCIa0lyekQSYrmoENY5h + nq6S9r0UjaU8Ovd1dO5uiGt4RyV4tRK4T7AeeLzaAbzqvq6khx5+SK1Tz+g6r67124WcJOBfVOGfltHe + 2QTfX83nFFXWI8/5IfyzCtp72z8eHhDplMH67lakX85mGUngY2MdXE8KWWX6Nsaz1ucJl0sPhOPpTIgk + UM5nlNUb5JfHXrZuWkJUpoRYLK5KAimjvyQzAJ9fSBXOtAf8ywmCP5kuxjLAecxR4MyxnmDyilxMXtFQ + +k7wZzgkDuemJLhCIyC+AQJpG34j81bcAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGQUQzMUIxNEFCMTExRTQ4RjdGQUM0QTdFMThE + Qjc0IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGQUQzMUIwNEFCMTExRTQ4RjdGQUM0QTdFMThE + Qjc0IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REUyRTIzN0FCMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7HZq05AAACGUlEQVRIS7WS30tTYRzGp+Vym9vUVVuZ+w+Cuou8DLoLvFFL + yKQf1iQwBpqhbGLrp1l4sbfQMpZgPyiI6DII/wEZJhVdxFCMkv0HEk/v854OnPdwOp6x9YXPeZ69Z9/z + vL98AP4rjoO1xHGwlhgPS71PRoUEVP6OJQ8KCSpE/DPgXTKC8usFUCXq41u/URHs0QLetkeEBCblVwWU + X8wrP9keX7XMzCv6Ct4cCGNzcc7g+ROpj7F+f1J5vnP4wHboAS/bwvi1MAuq6dfuZpQfbEs4boMbDNEC + Fvc34efTPKikdHNM6VwiVOBsLDPzir6CZ/tC+PHoHqgSQX0YDxZ46PyzrdkLesB8PIiN/BSoEmHq3wDH + bXCDPVrA7N4A1h/kQLV5zr76FeT3NGLt1jioyt/JyEPOKj+UiFV/TWdiu1C6MQqluavKfx44idL1ETXm + tA1uMEQLmG7143s2DarymTQ+9XUqf3F381fb7Lygr+B2ix/fRi+DSpZ7TyjNNvtrc01z0QZ8GU6BKhHU + sUiDeU0dt8EN9mgBE5GdWB06D6rhz5m+NrdoPLwDK6l+UA1/BiuX+pQ/3Rqt/hZda6oXEiwdO4LihVMo + DvRi6fhRFM/2gONO2+AGQ7QA1nCoXkhAlvu78LHjsPLd0XD1t8ha6WAdPnQcAnUwUKcO2iyzqRKMh6Wu + BHxCglSjT/s4y97sBePhsezN2wPfH446+pStKAUKAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRBOEM2MzQ3NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 + RERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRBOEM2MzQ2NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 + RERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTMyRTIzN0FCMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6xBZbXAAACOUlEQVRIS9XT20uTcRgH8N+ch22ax7KDOilzGmVhBS2Qojbx + JjSjOyVBMBui1VqYXthBMIqgQF6LNVgidkKQcJJBIBQU3hgOpiR1Ixb4R8S35/fyvvbz7cES7aKLDy+/ + 5/B9djPh9/vXBcCq2CVDjKn9hgtVsUuGjTkQc2exaDnG1a24UBW7JP13B8qJl5SSbFnbsAOjRZlVbw6V + 4m3VAUwc3I0xz1ZQrV4eoK/sSwNE1sOk0qjpuFCVeF6QMRwPBbA0/BhLQ2HM9YQwUrIZp04cn6Ce7D94 + d6Za73/qaAa9w0Zdx4WqRHSb63X86gV80+5isb8Pr7x7oeU7+30+3zj1bsr3onYHie52DBZsQk+e4xjV + 5Z6OC1WJgS2OjzOXW/D+bA3mLjYjEWjEs33F6Cxzf42W5OPLrU7M3wgh4s5Bb25aqxDCRjtyT8eFqsS9 + 3NRzkfJC3M5JHXm6fydmGuswGzyPF0crMN3WhM9d7Yh4duB6dkofhSfRvNxZxoWqRG9WsnSYllPoq0X3 + FGOqzo94awMSl1rwpNKDrszkh0bfnF/GhapEd4bdSnu0azsmfV4MUXgw3T5I4U5mTseFqsQVl83KTu4H + 05N+tDlt4dNptjJLfwUuVCU6HDz5P+DqVlyoil2S/ukBCq8h38nL9WAPUKOCLJAj1h7H+outVgxTaCGZ + JyfV+mq4UJUMNbnIB1Kr1P6IC1WZg3YyShqM91/jQlXmoEYC5tJacKEqc/CaurQWXOgvED8BwmqyacXu + n/EAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ + mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ + Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX + E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 + i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ + CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw + PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT + tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p + uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V + tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN + pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG + Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE0Q0ZGNzdENEFDNzExRTQ4OENERTg3M0ExRkU4 + QTFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE0Q0ZGNzdDNEFDNzExRTQ4OENERTg3M0ExRkU4 + QTFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjAwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6Ak4wfAAADR0lEQVRIS7WUa1BMcRjGG2YYH3ww5NJVyG3GF9KN1U21KblN + yaV8cuvC0IyZInJNIboxZrvJFk1CtZvNlHTVTC1FKxuVRsgsbWyifHi85+xpt+yEY/TM/ObZ/3vefZ6Z + c+YcIwBjymhaSHhx/ifx2dXJR63RaMi9tcff6u92wzatrCLA4OO4GD2aPtaHZqMxym4VF6vXLl97NBUl + oUmSjMSje9Ct7kVi1G40FV6kWQpayrKguJ+Gp9IUNJeksjN2N2qXdpf+o3yYw15nsihymjaZ0w7PpajL + PQ1ZfBAiA1ag9XUHIretQn70ZuQf80NF6m7cPb1Ve47aSDN/SGICEBXkBGVHOw5vF+DOcX/ILgWDyaJI + E20yJ3/nJShNCYQ43B0xgbaI3GJD7oCs/auQESJAxj4XZIS5IDdCiKyDbsgIpTnNzgTa44D3InI75B8R + QhLrByaLIkcW+DosgCjUHaK9zqxnHvSCKIQCI320c45UmolCV+tnwdr94TBZFDmywHOZFf4nFDmyIGDD + /PDOl2XoVEqhyMtk/V94qbgHJ0fTWIr85Rmst474oXmMwc+1UMlusc6X/k9VUHdXQ+hmeYqL1ctv3bzo + tq5GtHTUoV4iYZ0vza9q8ExZSwUWcVysXpvWzokZ/FyHAXU5PhRcZ50vX1Wl6HlXDk9X8wQuVq+N3lbx + z9tr8eRFGSpycljnS4PiPhqay+DpYnaFizXSffXWr5mdMqB+gO8fJei6nsw6X/q6C/CpSwp3Z7N03dd0 + 6Iev0DJN3lKKmsYCSC9fYZ0vlfLbqJIXYbWTabZBgY+Hhfib6i7634vRlhDNOl++vLkG1eubcBOY5BkU + eLub51U25ENWnQnxiZOs80VakYaSymy4CkwKDQq83EwL+99dQ19nEhRHw1jnS29bAj60XoXLipkygwKh + q0lJcXU6cmXxSNy3HzeKL/AiR3oe4qI45BYn0Zs846FBgYfzrHKV8iLePjuHmkM70fnkLG/a5TFQ1p3C + SlvjR7oC0jhigpPjTJHAbnq943JjuYPNqDz+A412y6Y12S6dmk2ZU4iJTMF4YjIxi5hNmHGYc25BMPPh + zCEsCSsO5sxgTcwn5hJM3iTdLRobYPQTdTQPZQeGFN0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ3RTU5RTMxNEFDNzExRTRBRDBBQ0EwOEMyNjA2 + MTlDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ3RTU5RTMwNEFDNzExRTRBRDBBQ0EwOEMyNjA2 + MTlDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjMwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7q/i/2AAAEZklEQVRIS62S2U+UVxjGv9umCVpkACE4UA2NoLIIKMgSK6DA + sMu+iZRF9tUBYUBUQIIoSnEZsCj7LijEkXVYRKCovbFJY/+IXvT+6fseZkjGdEhNOsmTX97zzTy/Oed8 + EoCvyld/9D/cZ3qgi7Ktj7nZ/r985dKrvdJ+xBJfxkcuTdOzZl29gWC7qeUO9GHB5+U+fF7uxx/aXmLf + F+wXhX8qU3fTetgCn+a74WUjvdbVGwoKy8qRdCkd2fkFQvBxogXvemux0VeH9Z4abPbX0azC1sB1scaC + 32LPYMVDjo1oTzTYmmOhuxbu1tKcrt5QkJmbh4TUNDBZsD3aRIU1ePusigpVu1x/fg2bfbVC8CHqNJZc + bbCkcEO9rQwadRVOWkkLunpDQUbOFcQlp4DJgl+HG7DWXYl3PdWCXKyfWcaC9+HuWHCyxlKQixBMd5Qb + F1zKzMLFhEQwWbBBR/KWClefVlCuCq5TMZPXWbAV5IxZB0vM+x8Xgpm9BKmXMxAZGwcmC/jMlztLsdpV + LrjercRKZxnWSKBVlwjBpv8xaOxlmPM7urOD9hLjgsS0NIRGRYPJgjX6tytUrH1STJIyLD4qFLOeLFj3 + tceMnSk0Xod1Oyg1LuDzDw6PEPcgdkAXuvBzHrSPi7DYkS+49LBglyxY9bTD1KF9mHGXC8GL1nzjguj4 + BASGKMAUO/hFSUX5mHuQQ4I8kuWKeb79CrQ6wRIVj1mb4KWLjU6QZ1wQEROLcxeCwGTBSmc5ZtuyME+C + ufvZWGjPMZhZME+v6JCVCcZPWKNeLsPo7UzjAkVkFPz8A8BkwRKd9ey9n/D6TrqgpvUy5toy8eZuhphZ + oKFXdPK4FQYdLVFHgvHmLOOCoLBweJ/9EUwW8LnPNKdCQ4Lp2ymC+pnJgp4fLNH4vQUeHDGHSm6GoVtp + xgV8/p6+fuIeWPCmLVsUv2xMEnzVlCyKpxoSBVupuNH+IJ7nBkFFsupDZhhu2EPgT+d/6ow3mEJwLxuT + NxMw3ZiM8euxglO3EgUn6uPQZGcOdbIvxuvjoU7xg4oEvapE44Kzgefh5ukFJgumW9IxeSOOymPwoj4W + Y3UXxTxaG71LFo+ooul5HAaqI9FbG29c4HfOH64ep8BkwQwJRmoiMUEC5jgJmCwbro4QQp6Zw8SBaxHo + q4mFm5U0r6s3FPjQBTu7uYPJgombSRhTRWGgMkxwhEo5g1XhYu5Xhu7OoyToqVDsLfCiCz7h4gqmENxI + QP9VBYaqwgQHlArBwcpQ9FWECPLaKEl2nofimTKKBf9+RKe9fXDMyRlMFoyoYtBbHoKuwgB0lwTtsPiC + YA+tPy0MFLM+6oIAdJaGw/WgtKirNxR4eHlDHxb0VkbhUVEwHhcp0FEQDHVJmCDPDwtD8KQ4VJDXmR2U + uznn4WQpaXX14vMNx+Q70wHKJ8rvHNmB/X/TF7eOWUjvHc2lD/81DjLp41GZNEydNpRvWWBNsaU4UFwo + J/+HuFIcJUmy+QdCMju4m8uS2QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzNzQ2OTA5NEQyNzExRTRBQzE5ODE3QUREMDMz + RkNEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzNzQ2OTA4NEQyNzExRTRBQzE5ODE3QUREMDMz + RkNEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjY4MkNFODIyNjRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7LYcOsAAACTUlEQVRIS5XW3UtTYRwHcP+EoKtuouiii2gXlcRKykHd9KJp + YXhMe9PK2nqFBhG+gTkxX1rjtGah0UVddBEUiPRKJDIsyaY5dNWGbm2uZBgiZvXteR56Hs6Op/N0Lj6w + 33me8/0+nIudkwPA1NLla1UCEkmilliivz9r0CM3KFUuNxZ+wVQi9RX1nmu0qIFYps3ICtSjBZVON+YX + fpsKdN9HTWM7PO1+WtJMrOAZi0IpsmH9X8pR50XM/fhp6mbXPRqsums9aPXdYiU8yyhczd9RApnV6/KR + t70YsXgKwcEQWrydzPvRcVoQ5nlGBZiZnTc19W0Gj3tfYqOjgIlE41nrNIPnGRZMf58zFUukscqWh4c9 + z7F5WxE2bNmJkfGoWJcWpDOzpj5NpmhIZuWaTXjw6Alyt+6CN3BXrEsLkuQRmImnM3j2eoDpfzuMiuMX + 0OG/I9alBZNTGcZut8NmszH0N7+uV37sPNrUbjFLC6Jfpi0pqzqHq74uMUsLIhNphp/+X/g+pfIsmr23 + xSwtCEeTlpQeOYOmjk4xSwuGPyYYo1Nr8X37D59GY1tAzNKCd2MTlpQccqGh1S9macGb0RhjdGotvm/f + QRfqWm6IWVoQDH22ZG+FEzUeVczSgr6hCGN0ai2+r7j8FC43+cQsLXg1OGZJ0YGTuHTlupilBS8GwozR + qbX4vj1l1eTv24FcRyFDMlSeZ1jwNPjBkkKlmoYqBHtRafOywila0Ns/YkmBcoIV6LOoRRdoQU9fyJLd + pdYK/uczRU8882zI+QPBTkk4sL23wAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z + Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 + 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT + O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 + mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA + mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI + lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j + CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 + +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug + QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb + dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf + 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 + ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 + mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y + tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA + AElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY5QzgyODdDNEFBNjExRTRBQjc4QTlDNkE4RTgy + QzFEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY5QzgyODdCNEFBNjExRTRBQjc4QTlDNkE4RTgy + QzFEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTkwNkVCNzZBNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5gwa99AAAE3ElEQVRIS63Re0xTZxgG8E+WbFMXGSI3K1AElAlRJgFUVNYI + qIAXLiIFKXcjq7IxHajRMYZDRASDAspNBStoy0QKCojcKQJHtAgqCEwnHuY2dCbG/bPk2XeIPdOFxsX4 + Js8ffb5z3l9PPvKuA+B/5c0RRsXT5P2byATa6tBMmTh/bSZbNlneHGFkgbydBZfyDhbETHKKth/RcMh7 + GGFkYVbVCA5euIfDij4QwaZztJ1K88HffzURTd59hBGnMioGkSi7g+SSbpDZG+W0nUbz3oAzqfTfJ5b0 + YX9hJwcoaPtWQBJLCmgYTUJ2kEJaT3J3wvCSRFk/EgrV2Jun4oCfaPtWgC5kBh+l4P5oBs0xiLeRHlpP + cnfm4ef2nbmNuBM9+Ca7jQMu0fZ1QEeTiedfTfB2wtwa3IXrfeFQ3YqATxhR03ri7iYe4Mc8rCw+/xak + x7oRe7SZAhuUtJ324lmdiC4VTxJX7jWxlDBd/WFoU29GvSoI3sGkl3uP5r9AqDw2h0HUkQ7EpDdwQDVt + p718fjVYmb20XZ72GasJ/a2i8BZ6PiXgS8K09wahqccfNW0SrA3SCkjKpVldEB9oQ8TBegqsv7JggfAT + DriQasO+fLYZmsgOzB8be1QR7u/7xYf+2wjTcjMUtZ1uUDb5Y7VYG2AmqQhNUyEgqQnipBoQk/V1PPDj + PPbFbyI87LTG+OgyFO2z/HVk8Hy060r7j322EuZqlycuq9xxsd4D7pu1AiGVoamtWLf3GgK/q+aAqxrg + fLI1+3xsCYZbLcEOOSJv99wJYImz7dQN0YSpux6MimYnlNf5YFWAVmBLte/+BnjuugLvnZcosK6BB763 + ZP8cdcRAvQUeDzggb5eQB7wjCXOpeSkU15whUzpC5K8dqPHdUwuRtBJeXys4oFkDlO2zYJ8+XIz+KnM8 + umOPk3FmPLA2nDAVjW6Q1cxDcaUjVvppA0yD69bGVWHF1nK4xZSCGHu38MAeITs+shBqhSl+6bPDyVhT + HlgdRpjS2kUoqpyPfIUdlvtqBYKuuUkvYkloKVZElHBAuwYojTdjf7+/AMzZ2XigtsEJqYAH3CSEOaW0 + Ra7cGlkyKyzbqBUQN7pGXcCigGK4SIoo4NWhAc7tnMM+uWuNjgIjjNywRG6MCQ+IQgiTp7BFerExMk/b + wXmDdqDFKaQUC/2KYB+QT+/Aq5MHvprNjvXNRetxAwx1CZEbbcwDrsGEyThritQiUyTnCuC0TisQ2LY4 + sBjWnifwuV8O/QLPbg0g227MPlaboTFdHwOqOciJMOSB5WLCpJ02QWKOHpKyzeHgpQ2YE6iy31QES/dM + 2HgeATFa08MDMUbsaI8Al5P00NdoguMSAx5YFkiYlHwBdqfPQsJhfdivIbfptjcAXRoBEfjdnOeZRYFD + sHJLAjFYdXfGjOlWvTdOS89EGzwZbDOCut4QndUGyAic+UdTfda3urrTLZz9iXp35qeIS9HF9sSZsFtF + Bug+Mxp9bjk3c2kciKGHkhi6D5JZomFi4DpM9F1qaL+0pip9b8E2y94s8czx9E1644f89J5mhlnclZf9 + kEzPnW09iJLmvo2IjMxfSX62diG1tHd6tZcf7pO4L5lFY/ha9Ibula15MCSP6leXxPR0Fu7QpLsjz4ee + z6CZ9D1CiM4/X3QnEat9eLkAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z + Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 + 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT + O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 + mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA + mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI + lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j + CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 + +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug + QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb + dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf + 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 + ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 + mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y + tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA + AElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGOUFCQzZDNEE5RjExRTRCOUJBREM4MzEzMUQ1 + NzQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGOUFCQzZCNEE5RjExRTRCOUJBREM4MzEzMUQ1 + NzQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODlBOTk3NTY5QzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6aIUJsAAAE0klEQVRIS6WVbVBUVRjH79297/fu3l2EFRCCdBit6YOROU2p + yALioLwkmRiWKCDx5oLyKqy4IwoEgyAYRC4gb/mGmIKBFi8mIBLql2iChnJyhtQPzTh9CKE9PWdDBCOk + 4T/zm+ec5zznv+funmcvcbfUZkG8UAPFNguF6S+yOfBdkc0IjJ/A+M71PG0oWFMASdw6pl0IQl+h9upI + 22voToU9ulmofQg5y9BFN9SZqymAD2CI3gLtvOn+RLu9J1/bdypR7diQrJZg/PVwy6uoI0fTEruJXw2G + TpnbxLXwBEM/nF+KmjLkcOLbPM286MrR7IQ40ZWruW8MEZbDvOPHS6+gVpNczdKkE5jrADUglH4sre4v + 06H2o5rviY4j8gv55rC8G+JEe7b8a9Z2Qd9mkrsHLyxHzUZ15aS5LcADCoAElFD7OzBOXDXJc9KaJYdD + /KvtkHwvK0TQNxvl3rsNrqgxbYY5N2lsVYtRdoM9lisH5RGYqP+Ty5nqSIiW5kz1L+nBvL4pXd03UOOC + TiepTjIUMWVev0+lgzrlP+ZqBp6s43bDMlQZL5mIi2mqWWlKVUVBtED8OTmI159NUt26edIZ1SVIFZPm + i7D5hVTVZqj7E9aNYZ6s2JSmauyvWYpO75cuayXShTibJP2LM/ulWIgWiCOJ/py+PkHqv1HmhMyx4qdg + uuSpOZgEQd3YmSTpkSmE1zckSpd6Kl1RrUFq0skKF6ixJeoN0gzq9krxEC0Qf4r34zyr46SBjuIlqGyP + eGK6ee1eaQvUjdUZpIfJgfzGyhixtavUGZljxAtakXwJauwAnqiKEaeojBYNEC3maHE4bD379udR4sDV + Agd0fJdQMs2chfX3oG4MTB/s9eN8yiPFa9fyHVBZpNComW6Ob1XFHsHKZ5GCAaKlPEIYClxFv56/g8+5 + VuCIisL4KiicMi+PFLZC3ROofxDry/qU7BbavzpqD4fgz2kEq/n0K0sQpbt4zEpgvCSMHw1aRa+CtH3x + Tr7LHKdGAW/Qb8Icn4g7Hsa/P1n3W5QX41P4Id/x5SEdyg/lTsuzmWMd28ERhaFc3blMHUrZzEZCygFQ + 5W/nyi4dtkfGIDbL3VW5uOADLh5qJ6B2NHw945MXwnU2ZtihnG3cFwJDOsOep/3wzBwLCjGPcrdxD3nG + egotQMV4MzrI3TufoUOwbrl4xBHB/P5Ha+gN2Vu5zrOpdsgUzNXTymf9AMw0x8oOZjHjpnfZuzB1BAQA + d6UiwoN2MwawDbA2mOHPngl0p9ZkBbE3GvbboswAtvY586lOnqGsQIY4GMAMAo+X6RQvQ4rDOQwId6cI + 2K5wULhm+DPdtQmLUKofU0XNxxzrwCaaSNlIJ1XH2qAEH7ocUhJA4jwGpAh9i7JN96OvnwLzfRto87zN + scCc0K9Q8km+dA+MLQYvugTm+F1IwpyEvC/E4ZoUO2Twpiv+lznWPm/8ZiPIYHelo0FP9ZrhSSD3R6IX + dRviaFGEjOeW6HXUCUphNbd2Mt4zuXduGTwpKyCFm46UI96h0uI8qEHIjQOPY9ZRV4JXKrfA+tTfBEBO + 2ze34jyUU4DwNcMG+KouBvCtwn2BGw2/rfAvTz63Z25Fr1XOAIS/V3w0FsBdiT8QG+NFcpb6OUQQfwME + xz0xnqHypQAAAABJRU5ErkJggg== + + + + + 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 + TkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ + mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ + Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX + E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 + i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ + CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw + PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT + tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p + uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V + tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN + pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG + Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFQzJGRUI2NEFFMDExRTRCNEQwQzlGQjVEQTAz + Mjk2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFQzJGRUI1NEFFMDExRTRCNEQwQzlGQjVEQTAz + Mjk2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUU3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz71LrnbAAACUElEQVRIS7WTTUgUYRjHh4g+oWyXiF1dESq0XLsUISR9bSQG + C1FGpSIdyktQVIfq4AYd6qBBhzq01xChrEuBCoIf1VoqbOAHae6mSbtWW22Zpm3w73l2BpoZHp2doj/8 + mGHe5/k9zDvzKgD+K4ozt+ifkKR6xCY7SFI9YpMdLCM12cEyUtMCLCWW6Z9ZRl+8ABXEE9eGrXBv3Aa6 + 7yaqec0yXGRBvc9/HF3dfZiZS+HHz18I9YRRdqiaB93UNPPHJDNzcFfZESS+TGF6NmUgOTWjDfFWaio5 + glRP66PWDiS/z4q0dT3nASHSLFJtQgSpnk+R8TgSyWmRycRX3qYUaZarNiEmoZnkyFgMscS3eaEaOk2K + U7UJMQnNvA8PRTAe/ywyMhbnLZojjVu1CRGkepqCd5vweuKDSMPDZqzJLnhJmhzVJkSQ6vHt2F+O/tF3 + GIzGDfSPxuDzV2KlI/s6aVyqTYggNeDwFAYrTp5Hz0AU4eGJNL2Db3Di9CWsXre+nRR7WJOWSZGkhIu4 + SkSIqNPjfVu4fR9Ona1FzbkAthSXwpGz+SMNn+Q1h8d7g+ryNKUxtCBx68zla3jQ8iwjLgTq+G+6rSmN + MYmZizsPHEN77yt09A1nBNfu9VfxH1Wraf/EJC/J3VSMxsedaHsxZIt7zU/BvbRduzW1GtOAhkDdHbSE + Bv6KK/VB0De5r6nVmAaU0Gs20jV9Qu2S5c7vXLU27yhpl6h2Ci0YoKwg8olS4jBRniFcyz0FBDvUCAMW + E1kEHx4+oXbgHu5lB0VRfgP1p66ckfD+bgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBQzA3NjM1NEFEMDExRTRCRDJCQTRBMTUzMERD + QUEwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBQzA3NjM0NEFEMDExRTRCRDJCQTRBMTUzMERD + QUEwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjRGOUQzNUFDRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7wDFMsAAADRElEQVRIS7WVbUyNYRjH2/iSD2behrAK1SJxTpF3hSZSmbxE + qZYT6SjJvL+sMZIZRqGat0hRmyxLXmq1VUoZHbVSspqQKWPGvMzfdT11Hs+5uz/4wIffdt//63/9r/M8 + z/08xwrAf0Uqyhg02kVPpBOviARimMwnIhVFKMzaxsENlzJz0dbegcTjZ0BaiswrIhVFKCwydlsCvv34 + peLtH8xDpsn8WqSiCAWFRcXtxtfvP1U8F63gAXqZX4tUFKGgPkPtXJGcdgUV1bXYsuvgv71FDAWe8PD0 + R8z2BDjp5vKABJlPRCqKUJij22xfdHR+RNenL2hubYfNODceYi3za5GKIhS0MtgQh3cfPqsMH6vjATEy + vxapKEJBq0PWx+P1+08qZdUmLOg+SWmETtbHSEURCtgeErkFbR0fLGh924WT5zJgN2E6D9ov6+0liFBj + kn7WYpTV1KOlvVMlICgSJZW1yrra1IygiFgecovw0fZbhImQOWV5qBFPG1sVnre9U6Eaho3RIX5volo7 + fy1PGaLNsAjUQsbAZSEbUd/yBidTryLCuFNZm+EBxEAiydl9Hk6lZ6HiSSOG2k1iva85p1ewGTL5LVll + wKLAcG64GrBmA2qbXqmQpgzo8c4hsuxdZrB2QJtjESpCZj8i1EnniQvZt1H0sBaPG9oUNu1Q3uZkwT9Y + u2csNiLU4DF8rB4ZuYWoevYSR5Mvw8NrKdbF7kGlqQW+Kw085LCs14xUZKjRmrh08Hg6yp++QGlNI2Z4 + B3LgbOLO6Qs5uFdugut0H9Y2yzIYqchQ06nwTbtR+rhJYdlaIwed6Kn5O7vPx/2HdcjKL8Eop6lc8xUz + mF4CQ+ZDXn7BeFBVj+LqBsTsSuQAi68n7Y8Z4vYp9WOpmcqRJS1C62EsNgyZjOOnLEBe0SPcr6xHIt33 + Ibau3Dxa8A3gI3kx567iS72WD0c6DKRbvNHqgqFi/5GOU3D+RiEKK+qQnl0AGwd3blqo9Wn80ROmeiPj + ZrHiv36nHCO6v7L9zB6xwbjKEI+CMhOyC8rg0P2LorQeEapvtZ84C2cz8xG94xD7j2jrotnOSe+FwLBY + TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4060,6 +4060,9 @@ 864, 17 + + 864, 17 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmAddInstrument.cs b/FrmAddInstrument.cs index 683c3be..2c0ea07 100644 --- a/FrmAddInstrument.cs +++ b/FrmAddInstrument.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -25,6 +26,7 @@ panel1.Controls.Add(plane3DControl); plane3DControl.Dock = DockStyle.Fill; } + /// /// 添加按钮事件处理 /// @@ -32,37 +34,37 @@ /// private void btnAdd_Click(object sender, EventArgs e) { - if (feature != null) + if (feature == null) { - if (markerFeature != null) - { - markerFeature.Delete(); - } - GSOPoint3d pt = new GSOPoint3d(); - pt.X = point.X; - pt.Y = point.Y; - pt.Z = point.Z; - GSOGeoModel model = new GSOGeoModel(); - model.FilePath = modelPath; - model.Position = pt; - model.AltitudeMode = EnumAltitudeMode.Absolute; - feature = new GSOFeature(); - feature.Geometry = model; - modelLayer.AddFeature(feature); - if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - modelLayer.Save(); - } - globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); - globeControl1.Refresh(); - } - else - { - MessageBox.Show("请选中一个附属物!","提示"); + MessageBox.Show("请选中一个附属物!", "提示"); return; } - Close(); + + if (markerFeature != null) + { + markerFeature.Delete(); + } + GSOPoint3d pt = new GSOPoint3d(); + pt.X = point.X; + pt.Y = point.Y; + pt.Z = point.Z; + GSOGeoModel model = new GSOGeoModel(); + model.FilePath = modelPath; + model.Position = pt; + model.AltitudeMode = EnumAltitudeMode.Absolute; + feature = new GSOFeature(); + feature.Geometry = model; + modelLayer.AddFeature(feature); + if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + modelLayer.Save(); + } + globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); + globeControl1.Refresh(); + + Close(); } + /// /// 关闭按钮事件处理 /// diff --git a/FrmAddInstrument.designer.cs b/FrmAddInstrument.designer.cs index 2ebab1d..307d2c6 100644 --- a/FrmAddInstrument.designer.cs +++ b/FrmAddInstrument.designer.cs @@ -56,10 +56,9 @@ this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel1.Controls.Add(this.listBoxSize); this.groupPanel1.Controls.Add(this.label2); - this.groupPanel1.Location = new System.Drawing.Point(15, 58); - this.groupPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel1.Location = new System.Drawing.Point(11, 46); this.groupPanel1.Name = "groupPanel1"; - this.groupPanel1.Size = new System.Drawing.Size(611, 125); + this.groupPanel1.Size = new System.Drawing.Size(458, 100); // // // @@ -96,11 +95,10 @@ // listBoxSize // this.listBoxSize.FormattingEnabled = true; - this.listBoxSize.ItemHeight = 15; - this.listBoxSize.Location = new System.Drawing.Point(115, 11); - this.listBoxSize.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.listBoxSize.ItemHeight = 12; + this.listBoxSize.Location = new System.Drawing.Point(86, 9); this.listBoxSize.Name = "listBoxSize"; - this.listBoxSize.Size = new System.Drawing.Size(464, 94); + this.listBoxSize.Size = new System.Drawing.Size(349, 76); this.listBoxSize.TabIndex = 8; this.listBoxSize.SelectedIndexChanged += new System.EventHandler(this.listBoxSize_SelectedIndexChanged); // @@ -109,10 +107,9 @@ this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.Font = new System.Drawing.Font("宋体", 9F); - this.label2.Location = new System.Drawing.Point(20, 11); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Location = new System.Drawing.Point(15, 9); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(67, 15); + this.label2.Size = new System.Drawing.Size(53, 12); this.label2.TabIndex = 1; this.label2.Text = "附属物:"; // @@ -121,10 +118,9 @@ this.groupPanel2.CanvasColor = System.Drawing.SystemColors.Control; this.groupPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel2.Controls.Add(this.panel1); - this.groupPanel2.Location = new System.Drawing.Point(15, 190); - this.groupPanel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel2.Location = new System.Drawing.Point(11, 152); this.groupPanel2.Name = "groupPanel2"; - this.groupPanel2.Size = new System.Drawing.Size(611, 329); + this.groupPanel2.Size = new System.Drawing.Size(458, 263); // // // @@ -163,19 +159,17 @@ // this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(605, 302); + this.panel1.Size = new System.Drawing.Size(452, 241); this.panel1.TabIndex = 0; // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnCancel.Location = new System.Drawing.Point(527, 528); - this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnCancel.Location = new System.Drawing.Point(395, 422); this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(100, 29); + this.btnCancel.Size = new System.Drawing.Size(75, 23); this.btnCancel.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnCancel.TabIndex = 16; this.btnCancel.Text = "关闭"; @@ -185,10 +179,9 @@ // this.btnAdd.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnAdd.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnAdd.Location = new System.Drawing.Point(415, 528); - this.btnAdd.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnAdd.Location = new System.Drawing.Point(311, 422); this.btnAdd.Name = "btnAdd"; - this.btnAdd.Size = new System.Drawing.Size(100, 29); + this.btnAdd.Size = new System.Drawing.Size(75, 23); this.btnAdd.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnAdd.TabIndex = 15; this.btnAdd.Text = "添加"; @@ -202,10 +195,9 @@ this.groupPanel3.Controls.Add(this.textBoxXLon); this.groupPanel3.Controls.Add(this.labelLat); this.groupPanel3.Controls.Add(this.labelLon); - this.groupPanel3.Location = new System.Drawing.Point(15, 8); - this.groupPanel3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel3.Location = new System.Drawing.Point(11, 6); this.groupPanel3.Name = "groupPanel3"; - this.groupPanel3.Size = new System.Drawing.Size(611, 40); + this.groupPanel3.Size = new System.Drawing.Size(458, 32); // // // @@ -246,10 +238,9 @@ // this.textBoxXLat.Border.Class = "TextBoxBorder"; this.textBoxXLat.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLat.Location = new System.Drawing.Point(409, 2); - this.textBoxXLat.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLat.Location = new System.Drawing.Point(307, 2); this.textBoxXLat.Name = "textBoxXLat"; - this.textBoxXLat.Size = new System.Drawing.Size(171, 30); + this.textBoxXLat.Size = new System.Drawing.Size(128, 21); this.textBoxXLat.TabIndex = 3; this.textBoxXLat.TextChanged += new System.EventHandler(this.textBoxXLat_TextChanged); // @@ -260,10 +251,9 @@ // this.textBoxXLon.Border.Class = "TextBoxBorder"; this.textBoxXLon.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLon.Location = new System.Drawing.Point(115, 2); - this.textBoxXLon.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLon.Location = new System.Drawing.Point(86, 2); this.textBoxXLon.Name = "textBoxXLon"; - this.textBoxXLon.Size = new System.Drawing.Size(171, 30); + this.textBoxXLon.Size = new System.Drawing.Size(128, 21); this.textBoxXLon.TabIndex = 2; this.textBoxXLon.TextChanged += new System.EventHandler(this.textBoxXLon_TextChanged); // @@ -272,10 +262,9 @@ this.labelLat.AutoSize = true; this.labelLat.BackColor = System.Drawing.Color.Transparent; this.labelLat.Font = new System.Drawing.Font("宋体", 9F); - this.labelLat.Location = new System.Drawing.Point(329, 11); - this.labelLat.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLat.Location = new System.Drawing.Point(247, 9); this.labelLat.Name = "labelLat"; - this.labelLat.Size = new System.Drawing.Size(52, 15); + this.labelLat.Size = new System.Drawing.Size(41, 12); this.labelLat.TabIndex = 1; this.labelLat.Text = "纬度:"; // @@ -284,18 +273,17 @@ this.labelLon.AutoSize = true; this.labelLon.BackColor = System.Drawing.Color.Transparent; this.labelLon.Font = new System.Drawing.Font("宋体", 9F); - this.labelLon.Location = new System.Drawing.Point(20, 11); - this.labelLon.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLon.Location = new System.Drawing.Point(15, 9); this.labelLon.Name = "labelLon"; - this.labelLon.Size = new System.Drawing.Size(52, 15); + this.labelLon.Size = new System.Drawing.Size(41, 12); this.labelLon.TabIndex = 1; this.labelLon.Text = "经度:"; // // FrmAddInstrument // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(641, 564); + this.ClientSize = new System.Drawing.Size(481, 451); this.Controls.Add(this.groupPanel3); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnAdd); @@ -304,7 +292,6 @@ this.DoubleBuffered = true; this.EnableGlass = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.MaximizeBox = false; this.Name = "FrmAddInstrument"; this.ShowIcon = false; diff --git a/FrmBufferAnalysis.cs b/FrmBufferAnalysis.cs index ea8a4b7..30bab88 100644 --- a/FrmBufferAnalysis.cs +++ b/FrmBufferAnalysis.cs @@ -30,13 +30,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } } @@ -114,23 +112,17 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i=0;i @@ -145,25 +137,18 @@ { e.Handled = true; } - if (e.KeyChar == 46) //小数点 + if (e.KeyChar != 46) return; + if (text.Text.Length <= 0) + e.Handled = true; //小数点不能在第一位 + else //处理不规则的小数点 { - if (text.Text.Length <= 0) - e.Handled = true; //小数点不能在第一位 - else //处理不规则的小数点 - { - float f; - float oldf; - bool b1 = false, b2 = false; - b1 = float.TryParse(text.Text, out oldf); - b2 = float.TryParse(text.Text + e.KeyChar, out f); - if (b2 == false) - { - if (b1) - e.Handled = true; - else - e.Handled = false; - } - } + float f; + float oldf; + bool b1 = false, b2 = false; + b1 = float.TryParse(text.Text, out oldf); + b2 = float.TryParse(text.Text + e.KeyChar, out f); + if (b2) return; + e.Handled = b1; } } /// @@ -197,51 +182,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } - } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -258,22 +236,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -293,38 +259,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -337,23 +297,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmBufferAnalysisBSQ.cs b/FrmBufferAnalysisBSQ.cs index d887d47..e08dba3 100644 --- a/FrmBufferAnalysisBSQ.cs +++ b/FrmBufferAnalysisBSQ.cs @@ -28,13 +28,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } if (txtRadius.Text != "" && pt != null) @@ -127,34 +125,28 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) + string featNum = feats[i].GetFieldAsString("编号"); + if (feats[i].GetFieldDefn("标识器编号") != null) { - string featNum = feats[i].GetFieldAsString("编号"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - if (markList.Contains(featNum) == false) - { - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["编号"].Value = featNum; - row.Cells["图层名称"].Value = layername; - markList.Add(featNum); - } - else - { - return; - } + featNum = feats[i].GetFieldAsString("标识器编号"); + } + if (markList.Contains(featNum) == false) + { + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["编号"].Value = featNum; + row.Cells["图层名称"].Value = layername; + markList.Add(featNum); + } + else + { + return; } } } @@ -210,48 +202,42 @@ { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -263,22 +249,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -295,38 +269,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -340,23 +308,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index ac622c4..0a5d0b0 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -43,27 +43,28 @@ globeControl2.MouseClick += globeControl2_MouseClick; } - private void invalParam() + private bool InvalParam() { if (srcFeature == null || dscFeature == null) { MessageBox.Show("请选择要对比的管段!", "提示"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) { MessageBox.Show("请选择同种类型图层!"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || - srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) - return; + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || + srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) + return false; + return true; } private void buttonAnalysis_Click(object sender, EventArgs e) { - invalParam(); - + bool isvalid = InvalParam(); + if (!isvalid) return; dataGridViewX1.DataSource = null; lineFeatureCompare(srcFeature, dscFeature); } @@ -75,11 +76,13 @@ private void lineFeatureCompare(GSOFeature srcFeature, GSOFeature dscFeature) { GSOGeoPolyline3D srcLine = srcFeature.Geometry as GSOGeoPolyline3D; - double srcLineLength = srcLine.GetSpaceLength(false, 6378137); + if (srcLine == null) return; GSOGeoPolyline3D dscLine = dscFeature.Geometry as GSOGeoPolyline3D; + if (dscLine == null) return; + double srcLineLength = srcLine.GetSpaceLength(false, 6378137); double dscLineLength = dscLine.GetSpaceLength(false, 6378137); - + double horizonDistance, verticalDistance; ClassDoubleScreenCompare.CalculateDistance(srcLine, dscLine, out horizonDistance, @@ -136,26 +139,13 @@ globeControl2.Refresh(); } - public static void clearFeatureHighLight(GSOGlobeControl glb) - { - for (int i = 0; i < glb.Globe.Layers.Count; i++) - { - GSOLayer layer = glb.Globe.Layers[i]; - if (!(layer is GSOFeatureLayer)) continue; - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - feats[j].HighLight = false; - } - } - } void globeControl1_MouseClick(object sender, MouseEventArgs e) { if (globeControl1.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { @@ -181,10 +171,10 @@ void globeControl2_MouseClick(object sender, MouseEventArgs e) { - + if (globeControl2.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { diff --git a/FrmGBJC.cs b/FrmGBJC.cs index d7acc30..e103403 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -21,8 +21,6 @@ { this.globeControl1 = _globeControl1; this.globeControl2 = _globeControl2; - //DoublePanelAnalysis.globeControl1 = globeControl1; - //DoublePanelAnalysis.globeControl2 = globeControl2; this.layerTemp = _layerTemp; this.layerTemp2 = _layerTemp2; InitializeComponent(); @@ -119,7 +117,7 @@ if (scLayer == null || sgLayer == null) return; - DataTable dt = DoublePanelAnalysis.lineFeatureCompare(scLayer, sgLayer, + DataTable dt = DoublePanelAnalysis.CompareLayerByRoad(scLayer, sgLayer, comboBoxRoad.SelectedItem.ToString(), globeControl1, globeControl2); FrmGBJCresult rs = new FrmGBJCresult(globeControl1, globeControl2, dt); diff --git a/MainFrm.cs b/MainFrm.cs index 6f9ec57..7c21cae 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -3365,9 +3365,9 @@ return dismarker.Position; } - #region wxl重构未完成 + #region wxl /// - /// 碰撞分析 + /// wxl重构,碰撞分析 /// /// /// @@ -3423,7 +3423,7 @@ } /// - /// 垂直净距分析,暂时没有在地图上标注 + /// wxl重构,垂直净距分析 /// /// /// @@ -3533,7 +3533,6 @@ featLenth.Clear(); listBox3.Items.Clear(); layerTemp.RemoveAllFeature(); - //polygonJingJuAnalysises.RemoveAll(); clearFeatureHighLight(); dataGridViewX9.Rows.Clear(); Cursor = Cursors.WaitCursor; @@ -3572,6 +3571,7 @@ /// private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1,selectedFeature, _pipelineLayerNames, dis); if (featureMap == null) @@ -4281,10 +4281,9 @@ dataGridViewX4.Rows.Clear(); dataGridViewX5.Rows.Clear(); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(comboBoxEx2.SelectedItem.ToString()); - if (layer == null) - return; - + GSOFeatureLayer flayer = layer as GSOFeatureLayer; + if (flayer == null) return; GSOFeatures feats = flayer.GetAllFeatures(); for (int i = 0; i < feats.Length; i++) { @@ -7414,13 +7413,17 @@ GSOFeature f; GSOLayer layer; globeControl1.Globe.GetSelectObject(i, out f, out layer); - if (f == null) continue; - f.Delete(); - if (layer != null) - globeControl1.Globe.AddToEditHistroy(layer, f, EnumEditType.Delete); +// if (f == null) continue; +// f.Delete(); +// if (layer != null) +// globeControl1.Globe.AddToEditHistroy(layer, f, EnumEditType.Delete); + FeatureTools.DeleteFeature(f); + globeControl1.Refresh(); + } + MessageBox.Show("删除成功!", "提示"); globeControl1.Globe.Action = EnumAction3D.ActionNull; } diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index cf83817..2622c33 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -37,17 +37,17 @@ { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = 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(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = 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(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle25 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle26 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle27 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle28 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle29 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle30 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle31 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle32 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle33 = new System.Windows.Forms.DataGridViewCellStyle(); this.dotNetBarManager1 = new DevComponents.DotNetBar.DotNetBarManager(this.components); this.dockSite4 = new DevComponents.DotNetBar.DockSite(); this.dockSite1 = new DevComponents.DotNetBar.DockSite(); @@ -277,6 +277,9 @@ this.btn_user_role = new DevComponents.DotNetBar.ButtonItem(); this.btn_password_edit = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemPasswordReset = new DevComponents.DotNetBar.ButtonItem(); + this.ribbonPanel4 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar1 = new DevComponents.DotNetBar.RibbonBar(); + this.btn_document_info = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel15 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar20 = new DevComponents.DotNetBar.RibbonBar(); this.buttonItemSH = new DevComponents.DotNetBar.ButtonItem(); @@ -332,9 +335,6 @@ this.buttonItemXT4 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemXT4_1 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemXT4_2 = new DevComponents.DotNetBar.ButtonItem(); - this.ribbonPanel4 = new DevComponents.DotNetBar.RibbonPanel(); - this.ribbonBar1 = new DevComponents.DotNetBar.RibbonBar(); - this.btn_document_info = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel1 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar21 = new DevComponents.DotNetBar.RibbonBar(); this.buttonItem87 = new DevComponents.DotNetBar.ButtonItem(); @@ -543,8 +543,8 @@ this.ribbonPanel5.SuspendLayout(); this.ribbonPanel6.SuspendLayout(); this.ribbonPanel2.SuspendLayout(); - this.ribbonPanel15.SuspendLayout(); this.ribbonPanel4.SuspendLayout(); + this.ribbonPanel15.SuspendLayout(); this.ribbonPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.panelOfTable.SuspendLayout(); @@ -729,7 +729,7 @@ this.toolStripDropDownButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton1.Image"))); this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripDropDownButton1.Name = "toolStripDropDownButton1"; - this.toolStripDropDownButton1.Size = new System.Drawing.Size(45, 20); + this.toolStripDropDownButton1.Size = new System.Drawing.Size(45, 21); this.toolStripDropDownButton1.Text = "帮助"; this.toolStripDropDownButton1.Visible = false; // @@ -1165,7 +1165,7 @@ this.水平面积ToolStripMenuItem1, this.地表面积ToolStripMenuItem1}); this.量算ToolStripMenuItem.Name = "量算ToolStripMenuItem"; - this.量算ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.量算ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.量算ToolStripMenuItem.Text = "量算"; // // 水平距离ToolStripMenuItem1 @@ -1228,7 +1228,7 @@ this.前进ToolStripMenuItem, this.后退ToolStripMenuItem}); this.编辑ToolStripMenuItem.Name = "编辑ToolStripMenuItem"; - this.编辑ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.编辑ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.编辑ToolStripMenuItem.Text = "编辑"; // // 平移对象ToolStripMenuItem @@ -1304,7 +1304,7 @@ this.绕中心点飞行ToolStripMenuItem, this.绕眼睛飞行ToolStripMenuItem}); this.飞行ToolStripMenuItem.Name = "飞行ToolStripMenuItem"; - this.飞行ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.飞行ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.飞行ToolStripMenuItem.Text = "飞行"; // // 自定义飞行ToolStripMenuItem @@ -1349,7 +1349,7 @@ this.属性标注ToolStripMenuItem, this.标注管理ToolStripMenuItem}); this.标注ToolStripMenuItem.Name = "标注ToolStripMenuItem"; - this.标注ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.标注ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.标注ToolStripMenuItem.Text = "标注"; // // 标高标注ToolStripMenuItem @@ -1436,7 +1436,7 @@ this.关联查询ToolStripMenuItem, this.关键字查询ToolStripMenuItem}); this.查询ToolStripMenuItem.Name = "查询ToolStripMenuItem"; - this.查询ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.查询ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.查询ToolStripMenuItem.Text = "查询"; // // 空间查询ToolStripMenuItem @@ -1522,7 +1522,7 @@ this.附属物分类统计ToolStripMenuItem, this.标识器分类统计ToolStripMenuItem}); this.全区域统计ToolStripMenuItem.Name = "全区域统计ToolStripMenuItem"; - this.全区域统计ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.全区域统计ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.全区域统计ToolStripMenuItem.Text = "全区域统计"; // // 管线长度统计ToolStripMenuItem @@ -1601,7 +1601,7 @@ this.附属物分类统计ToolStripMenuItem1, this.标识器分类统计ToolStripMenuItem1}); this.绘制区域统计ToolStripMenuItem.Name = "绘制区域统计ToolStripMenuItem"; - this.绘制区域统计ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.绘制区域统计ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.绘制区域统计ToolStripMenuItem.Text = "绘制区域统计"; // // 管线长度统计ToolStripMenuItem1 @@ -1675,7 +1675,7 @@ this.道路断面分析ToolStripMenuItem, this.基线剖面分析ToolStripMenuItem}); this.断面分析ToolStripMenuItem.Name = "断面分析ToolStripMenuItem"; - this.断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.断面分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.断面分析ToolStripMenuItem.Text = "断面分析"; // // 横断面分析ToolStripMenuItem @@ -1717,7 +1717,7 @@ this.连通分析ToolStripMenuItem, this.爆管分析ToolStripMenuItem}); this.拓扑分析ToolStripMenuItem.Name = "拓扑分析ToolStripMenuItem"; - this.拓扑分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.拓扑分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.拓扑分析ToolStripMenuItem.Text = "拓扑分析"; // // 创建拓扑ToolStripMenuItem @@ -1779,7 +1779,7 @@ this.隐藏隧道ToolStripMenuItem, this.删除隧道ToolStripMenuItem}); this.开挖分析ToolStripMenuItem.Name = "开挖分析ToolStripMenuItem"; - this.开挖分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.开挖分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.开挖分析ToolStripMenuItem.Text = "开挖分析"; // // 多边形开挖ToolStripMenuItem @@ -1831,27 +1831,27 @@ this.可视域分析ToolStripMenuItem, this.可视包络分析ToolStripMenuItem}); this.视域分析ToolStripMenuItem.Name = "视域分析ToolStripMenuItem"; - this.视域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.视域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.视域分析ToolStripMenuItem.Text = "视域分析"; // // 通视分析ToolStripMenuItem // this.通视分析ToolStripMenuItem.Name = "通视分析ToolStripMenuItem"; - this.通视分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.通视分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.通视分析ToolStripMenuItem.Text = "通视分析"; this.通视分析ToolStripMenuItem.Click += new System.EventHandler(this.通视分析ToolStripMenuItem_Click); // // 可视域分析ToolStripMenuItem // this.可视域分析ToolStripMenuItem.Name = "可视域分析ToolStripMenuItem"; - this.可视域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.可视域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.可视域分析ToolStripMenuItem.Text = "可视域分析"; this.可视域分析ToolStripMenuItem.Click += new System.EventHandler(this.可视域分析ToolStripMenuItem_Click); // // 可视包络分析ToolStripMenuItem // this.可视包络分析ToolStripMenuItem.Name = "可视包络分析ToolStripMenuItem"; - this.可视包络分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.可视包络分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.可视包络分析ToolStripMenuItem.Text = "可视包络分析"; this.可视包络分析ToolStripMenuItem.Click += new System.EventHandler(this.可视包络分析ToolStripMenuItem_Click); // @@ -1862,34 +1862,34 @@ this.缓冲区分析ToolStripMenuItem, this.无源淹没分析ToolStripMenuItem}); this.区域分析ToolStripMenuItem.Name = "区域分析ToolStripMenuItem"; - this.区域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.区域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.区域分析ToolStripMenuItem.Text = "区域分析"; // // 附属物分析ToolStripMenuItem // this.附属物分析ToolStripMenuItem.Name = "附属物分析ToolStripMenuItem"; - this.附属物分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.附属物分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.附属物分析ToolStripMenuItem.Text = "配件分析"; this.附属物分析ToolStripMenuItem.Click += new System.EventHandler(this.附属物分析ToolStripMenuItem_Click); // // 缓冲区分析ToolStripMenuItem // this.缓冲区分析ToolStripMenuItem.Name = "缓冲区分析ToolStripMenuItem"; - this.缓冲区分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.缓冲区分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.缓冲区分析ToolStripMenuItem.Text = "缓冲区分析"; this.缓冲区分析ToolStripMenuItem.Click += new System.EventHandler(this.缓冲区分析ToolStripMenuItem_Click); // // 无源淹没分析ToolStripMenuItem // this.无源淹没分析ToolStripMenuItem.Name = "无源淹没分析ToolStripMenuItem"; - this.无源淹没分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.无源淹没分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.无源淹没分析ToolStripMenuItem.Text = "无源淹没分析"; this.无源淹没分析ToolStripMenuItem.Click += new System.EventHandler(this.无源淹没分析ToolStripMenuItem_Click); // // 清除分析ToolStripMenuItem // this.清除分析ToolStripMenuItem.Name = "清除分析ToolStripMenuItem"; - this.清除分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.清除分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.清除分析ToolStripMenuItem.Text = "清除分析"; this.清除分析ToolStripMenuItem.Click += new System.EventHandler(this.buttonItemClear_Click); // @@ -2170,12 +2170,12 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel12); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); - this.ribbonControl1.Controls.Add(this.ribbonPanel6); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; this.ribbonControl1.ImeMode = System.Windows.Forms.ImeMode.NoControl; @@ -2244,6 +2244,7 @@ this.ribbonPanel12.StyleMouseOver.Class = ""; this.ribbonPanel12.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel12.TabIndex = 34; + this.ribbonPanel12.Visible = false; // // ribbonBar18 // @@ -2731,6 +2732,76 @@ this.buttonItemPasswordReset.Text = "重置密码"; this.buttonItemPasswordReset.Click += new System.EventHandler(this.buttonItemPasswordReset_Click); // + // ribbonPanel4 + // + this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel4.Controls.Add(this.ribbonBar1); + this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel4.Name = "ribbonPanel4"; + this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); + // + // + // + this.ribbonPanel4.Style.Class = ""; + this.ribbonPanel4.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel4.StyleMouseDown.Class = ""; + this.ribbonPanel4.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel4.StyleMouseOver.Class = ""; + this.ribbonPanel4.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel4.TabIndex = 36; + this.ribbonPanel4.Visible = false; + // + // ribbonBar1 + // + this.ribbonBar1.AutoOverflowEnabled = true; + // + // + // + this.ribbonBar1.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar1.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar1.BackgroundStyle.Class = ""; + this.ribbonBar1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar1.ContainerControlProcessDialogKey = true; + this.ribbonBar1.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.btn_document_info}); + this.ribbonBar1.Location = new System.Drawing.Point(3, 0); + this.ribbonBar1.Name = "ribbonBar1"; + this.ribbonBar1.Size = new System.Drawing.Size(88, 59); + this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar1.TabIndex = 0; + // + // + // + this.ribbonBar1.TitleStyle.Class = ""; + this.ribbonBar1.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar1.TitleStyleMouseOver.Class = ""; + this.ribbonBar1.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar1.TitleVisible = false; + // + // btn_document_info + // + this.btn_document_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_document_info.Image"))); + this.btn_document_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_document_info.Name = "btn_document_info"; + this.btn_document_info.SubItemsExpandWidth = 14; + this.btn_document_info.Text = "文档管理"; + this.btn_document_info.Click += new System.EventHandler(this.btn_document_info_Click); + // // ribbonPanel15 // this.ribbonPanel15.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -2756,7 +2827,6 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; - this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3211,76 +3281,6 @@ this.buttonItemXT4_2.Text = "人员修改"; this.buttonItemXT4_2.Click += new System.EventHandler(this.buttonItemXT4_2_Click); // - // ribbonPanel4 - // - this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonPanel4.Controls.Add(this.ribbonBar1); - this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); - this.ribbonPanel4.Name = "ribbonPanel4"; - this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); - // - // - // - this.ribbonPanel4.Style.Class = ""; - this.ribbonPanel4.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonPanel4.StyleMouseDown.Class = ""; - this.ribbonPanel4.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonPanel4.StyleMouseOver.Class = ""; - this.ribbonPanel4.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonPanel4.TabIndex = 36; - this.ribbonPanel4.Visible = false; - // - // ribbonBar1 - // - this.ribbonBar1.AutoOverflowEnabled = true; - // - // - // - this.ribbonBar1.BackgroundMouseOverStyle.Class = ""; - this.ribbonBar1.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonBar1.BackgroundStyle.Class = ""; - this.ribbonBar1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar1.ContainerControlProcessDialogKey = true; - this.ribbonBar1.Dock = System.Windows.Forms.DockStyle.Left; - this.ribbonBar1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.btn_document_info}); - this.ribbonBar1.Location = new System.Drawing.Point(3, 0); - this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(88, 59); - this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonBar1.TabIndex = 0; - // - // - // - this.ribbonBar1.TitleStyle.Class = ""; - this.ribbonBar1.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonBar1.TitleStyleMouseOver.Class = ""; - this.ribbonBar1.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar1.TitleVisible = false; - // - // btn_document_info - // - this.btn_document_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_document_info.Image"))); - this.btn_document_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.btn_document_info.Name = "btn_document_info"; - this.btn_document_info.SubItemsExpandWidth = 14; - this.btn_document_info.Text = "文档管理"; - this.btn_document_info.Click += new System.EventHandler(this.btn_document_info_Click); - // // ribbonPanel1 // this.ribbonPanel1.AutoSize = true; @@ -3440,7 +3440,6 @@ // ribbonTabItem11 // this.ribbonTabItem11.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem11.Checked = true; this.ribbonTabItem11.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem11.HoverImage"))); this.ribbonTabItem11.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem11.Image"))); this.ribbonTabItem11.Name = "ribbonTabItem11"; @@ -3481,6 +3480,7 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -3841,14 +3841,14 @@ this.dataGridViewX1.AllowUserToAddRows = false; this.dataGridViewX1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; this.dataGridViewX1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle23.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle23.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle23.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle23.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle23.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle23.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle23; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(0, 5); @@ -4124,14 +4124,14 @@ this.dataGridViewLineList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn19, this.dataGridViewTextBoxColumn20}); - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewLineList.DefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle24.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle24.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle24.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle24.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle24.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle24.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle24.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewLineList.DefaultCellStyle = dataGridViewCellStyle24; this.dataGridViewLineList.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewLineList.Location = new System.Drawing.Point(9, 155); this.dataGridViewLineList.Name = "dataGridViewLineList"; @@ -4219,14 +4219,14 @@ this.dataGridViewTextBoxColumn24, this.dataGridViewTextBoxColumn25, this.水平净距}); - dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewAnalysisResult.DefaultCellStyle = dataGridViewCellStyle3; + dataGridViewCellStyle25.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle25.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle25.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle25.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle25.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle25.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle25.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewAnalysisResult.DefaultCellStyle = dataGridViewCellStyle25; this.dataGridViewAnalysisResult.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewAnalysisResult.Location = new System.Drawing.Point(8, 310); this.dataGridViewAnalysisResult.Name = "dataGridViewAnalysisResult"; @@ -4461,21 +4461,21 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn10, this.dataGridViewTextBoxColumn11}); - dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle26.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle26.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle26.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle26.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle26.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle26.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle26.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle26; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(12, 127); this.dataGridViewX2.Name = "dataGridViewX2"; this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(26923, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(27517, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -4555,21 +4555,21 @@ this.Column6, this.Colomn12, this.Column5}); - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX3.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle27.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle27.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle27.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle27.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle27.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle27.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle27.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX3.DefaultCellStyle = dataGridViewCellStyle27; this.dataGridViewX3.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX3.Location = new System.Drawing.Point(12, 272); this.dataGridViewX3.Name = "dataGridViewX3"; this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(26922, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(27516, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -4813,14 +4813,14 @@ this.dataGridViewX8.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn12, this.dataGridViewTextBoxColumn13}); - dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle6.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX8.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle28.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle28.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle28.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle28.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle28.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle28.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle28.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX8.DefaultCellStyle = dataGridViewCellStyle28; this.dataGridViewX8.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX8.Location = new System.Drawing.Point(10, 120); this.dataGridViewX8.Name = "dataGridViewX8"; @@ -4908,14 +4908,14 @@ this.dataGridViewTextBoxColumn16, this.dataGridViewTextBoxColumn17, this.dataGridViewTextBoxColumn18}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX9.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle29.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle29.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle29.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle29.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle29.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle29.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle29.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX9.DefaultCellStyle = dataGridViewCellStyle29; this.dataGridViewX9.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX9.Location = new System.Drawing.Point(11, 271); this.dataGridViewX9.Name = "dataGridViewX9"; @@ -5191,14 +5191,14 @@ this.dataGridViewX4.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn1, this.dataGridViewTextBoxColumn2}); - dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle8.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX4.DefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle30.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle30.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle30.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle30.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle30.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle30.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle30.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX4.DefaultCellStyle = dataGridViewCellStyle30; this.dataGridViewX4.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX4.Location = new System.Drawing.Point(7, 84); this.dataGridViewX4.Name = "dataGridViewX4"; @@ -5276,14 +5276,14 @@ this.dataGridViewTextBoxColumn4, this.Column3, this.Column4}); - dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle9.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX5.DefaultCellStyle = dataGridViewCellStyle9; + dataGridViewCellStyle31.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle31.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle31.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle31.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle31.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle31.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle31.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX5.DefaultCellStyle = dataGridViewCellStyle31; this.dataGridViewX5.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX5.Location = new System.Drawing.Point(7, 225); this.dataGridViewX5.Name = "dataGridViewX5"; @@ -5477,14 +5477,14 @@ this.dataGridViewX6.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn5, this.dataGridViewTextBoxColumn6}); - dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle10.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX6.DefaultCellStyle = dataGridViewCellStyle10; + dataGridViewCellStyle32.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle32.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle32.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle32.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle32.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle32.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle32.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX6.DefaultCellStyle = dataGridViewCellStyle32; this.dataGridViewX6.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX6.Location = new System.Drawing.Point(8, 111); this.dataGridViewX6.Name = "dataGridViewX6"; @@ -5561,14 +5561,14 @@ this.dataGridViewTextBoxColumn7, this.dataGridViewTextBoxColumn8, this.dataGridViewTextBoxColumn9}); - dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle11.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle11.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX7.DefaultCellStyle = dataGridViewCellStyle11; + dataGridViewCellStyle33.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle33.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle33.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle33.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle33.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle33.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle33.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX7.DefaultCellStyle = dataGridViewCellStyle33; this.dataGridViewX7.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX7.Location = new System.Drawing.Point(9, 262); this.dataGridViewX7.Name = "dataGridViewX7"; @@ -5790,8 +5790,8 @@ this.ribbonPanel5.ResumeLayout(false); this.ribbonPanel6.ResumeLayout(false); this.ribbonPanel2.ResumeLayout(false); - this.ribbonPanel15.ResumeLayout(false); this.ribbonPanel4.ResumeLayout(false); + this.ribbonPanel15.ResumeLayout(false); this.ribbonPanel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.panelOfTable.ResumeLayout(false); diff --git a/MainFrm.resx b/MainFrm.resx index dd1052e..652064d 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,7 +351,7 @@ 766, 54 - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -362,30 +362,40 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjEwQ0IxNzBBNEM1QzExRTRBNkNGQzRBMjhDQzI0 + MkY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjEwQ0IxNzA5NEM1QzExRTRBNkNGQzRBMjhDQzI0 + MkY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTEzMDNDMjA1QjRDRTQxMTg4NERE + MUVBOEQ4QTgyNTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz43wa2/AAAFaUlEQVRIS6WUC0xTVxzGKy0UkSmlFGjBFilSkNpSaAWRh63y + sIiAArKs4spLRLQoiEJlSMGoMCc6CBOnYHzMOHUqqOhEHOqCbjNu6kCd6KYje5mZ6KbObd/OuVL3cEzj + /skv997/+b7v39PTW9aj3/BM+OKxPEIZoW/gyrOuPbP+GvRPSNBQQqXYLwSW1etw7cYt5kqfaZ+uD8QM + Xg8f/f4UxGhHMHv4qlG6vAb9394G6T+BPpdV1oCuUx3VD8Q9XT8//PUJRMghlLhLg1C41IK+r/pB+oNC + 16mO6qmP+gdi/6y793+hwTYEk9uoQOSaStHzxQ2Q/nND9XMKy0D9NIfmDcSzaLhI4KXE7LwinLtwGXfu + PXhhqJ/m0DyS62EdUGWpqcf3P97DD3d++t/QnKraBjpghXWAiC+WN0ZNScOe1mP45vbdF2ZvWwdoDs/D + b6ejs6ecxHPoAG/l+Fhkzy+FyCcY0YkG7D/yAW5+d+e5oXrqo36aQ/McnNyjyAAuHWA05pfgzPlehhyT + mflV6FOMaDt2Ctf7bw8KXac6qqc+a4Zx3hLwRLJCZgcJjcPIEPkyIZmeX1SB7vOX0dn9KQy5jw8r8eVc + HOrsxidXP0d9hxlzd4QgeYMzEt7kQVvOR0pFFNpOHmd81E9znIS+dSTc1foVGWfNKUZjyy6Ex6SQl0cD + 09IVxHAFh0+cReqr+QjK8ERqEw+VHWOwoycSR/v1OHwzDlsvhcNCeqkbedAYxQiPm87kZOQVw0nkW0QG + 2DFnIA+JRm3DFpzr/RKNW3ZDE5UAsX8ocizZiFs7DEUHvPFunw4Hb05B+y09jn49lYHe0x5doxqqLVlf + DJrnyB+pIQNs6QAhf6R8tZu3CqpwPdZu2I6PLl3HwnV5iHv9JVSeUOKdqzq81xeDvddiYG73R0aLEIZm + IRa1jUbjxQnYRHa17YqW0VJPwHT3LocRbirrDiymspXo6L6AgiXV8JSNQ2i6GpNWOqK4U4n1n0Vge68W + 9ecmIKnBBSqDCIp4P2RWGDB/QxqS6l1QcToIld3BqDobgsXEQ73+Se5HrGcgdJEokGzIx66DXXi7dRvC + yx2Q2RqApR+GoPbjCag8pUZ6sxjqWRKEldljRr07ZjaKmHt5qpBZKzkeiIJ2BbIPKmA8MIbJUC/ghrM0 + RfYsDtdhqJNIVulK/ku0BQokbfZGZrsKBR3BmEsMOfvl0FY7o7ypDPo1brCcGc+QUCdExabXEFsjQO4B + ObL2BSBlqx8SWwibvBE0334nK3Ael+yEbIW81DZszlhZ2oieuAYvpO5VIHGzP9J2+CN9pz/CzDwExMox + eZUbFnZpkEc+gLZagJjMWOiqXZDVqmC0+kZf6Nb4IHKFCPIsu92sgCw7BlJswjBJLCdenmuPyFUS6Gp9 + oG/yRdJWGSKqhYjKDgLRImK5ACGlzsy9d/zwXn2DBMZDSkZLPaHlnpBncyGO5kxj+Rps/wYdJE2xzfOb + zcU4sye0b0gRu3E0Ypt8ELTICRFGNcShUgjHuZyWxNu2096sdiXS9o1ltNQjyyDhes4SkuXEGpXC+Ve8 + kjlzpDPtoCkVQrdOihgyIHmXP6LryGEX86Ba6ISJNR7IeF+JV8gAfbOM0XoTj8dktpmEOxM4rJHTBscz + njNNnMiBagEfU98ajRnbZMg7GojCk2oGU1cw5nUGw7BHAZWJD6oVhLFzSDCPCacljGP/J7xAm6Hu0ew6 + STIXkcvckN7ig8XHVCjvUiNvdwAmW0Twms6FayS7meM4REoihxPoeT4u10nsZ0LKhhdsIxZEsVcLtOyL + pHffVcd+IJjI7uGHsRscJEPURMMn2FMtNTwuFusPrjFl48ji7nIAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -396,32 +406,32 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUyMTg3NjEyNDlEODExRTQ4NjNGQjM2Mzk1QkNB + RkQwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUyMTg3NjExNDlEODExRTQ4NjNGQjM2Mzk1QkNB + RkQwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkJCNTE0NDlEODQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5e5MstAAADiUlEQVRIS+2UW0yTdxjGcePwtYyVVpAUCi1tv9ImrVbxhAei + kjGphAgFT4jzEJ0gGuJhDk0sml0sglmWmC1hqHNKWwI4srgNh3phpjg1O1yIN5DMbFHQZUu42O76+D4f + 3Fl6Z7ILn+SXvH3f533++X/98iUBeKW81v9Uwx1G1+1240EhfKfdeE/4U3qTAqaZZO/2aeN9IXLrY+Ph + wVOZHll9YyohgYZOGS4JsYdXVDy+NQ8Tvy3BP6OlmPyjDP9OBDRYs8cZPfRy5/uQISIRqcIsLSye+j7I + wN+PluOvhyWY+NmL8fsOjP9kxdN7BRh/YJHfFjy5m48nd4ThQjy968bEgwV49usicFciTEKKFhZPXXv1 + eHxtLsYGPBjttwsWjF0xY+ybOfj9uylYs8cZPfQS7kpEnqDTwuLp9GYlfKZeifUfzcb1j/Iw/IkNv3Q6 + MfKVC6O9bg3W7HFGD73cORlMG5AIizDzAaVtunD5ESXWfNSEY/tNCO00oG1zOkJBBSeqUjVYh6R3Qmat + zSY0Hjah7IASW7hPuSoRvIGihcVTSauCppvFODRUjJZvPWgaKMTuXgt2RHOxLTwHDd3EjPfCudgesWJX + jxM7eryo7/Ni8SGFj8gp6LWwePLvS0Og043A5y5UdtkQOJeLivM5ePf8bJSfM04zG2u7chDoysW6Thsq + zqpY0+GAvymNB/gEgxYWT64tKdGihpSYv8WEpSEzVp0pwDuf2SVQReCiS4M1e5zRQy937NXJ1yRirjDz + AVmVJyNZa9+PObauh7ptKdR6FY6N2SisTYe1OlmDNXtqvRNqwxLYt1TCVLY1ZijZOSQRbuEtLSyeTOXH + sfLDH1EauoFFx6/Cd6Qf7pYI1ObLsO+9iMLdF+DccwEuqd2Nl+Br6sbCxiiKd/XBuPogH1HiAzJXHMC8 + YA98td1wb4rCuaEH1roo8oMR5JGaMPIFa10Ejtowiuouw1vzJTwVXyBz+X4ekPgRZfgbohkLtsfMy47B + tqYdakUnPFUM6YUv+LUGa/Y4o8e8rBXcSffWDkpE4j9ZpEvNmb9KsZV16BzrBnVq1YjeVf1MX1Tzn74o + iCmkdq1/LrNHOkfgB6Vg9afJRrVOdv2ClRkMmklvCnyPs4V8ge81v5RegddnCGHNHmf00JslcJcZCcWv + IU1pAhcyhLcFXj1zGtbscUYPvdyZ+Uv6Wi8rKekFBjoX2627by8AAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -432,22 +442,24 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC - RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo - KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O - 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd - rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o - 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C - s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE2Q0VGMDE2NDlEQTExRTQ4NTlCQTI3NTMyOEY5 + NEU2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE2Q0VGMDE1NDlEQTExRTQ4NTlCQTI3NTMyOEY5 + NEU2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjA1MjM3NzFEOTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6UH16BAAABrElEQVRIS63N70tTURzH8fsnKSGCCEIQCBKISMq2iILCgQOL + JUxQAoVKdMGQuwgWFepsMGjFZCMuorsIJV4WFatpvzdr1ZAFsaIHn8559v1eDsI91wevJ/ee7/tjbMRH + fAFwJOWRF6oopTzyQhWlVEdBwRbgUhICAnuvilKGtXDGzW6WV/CvbjE/xTfxr+R6q4xSxtP5YTf8rVn4 + s5dG+809Rv5zvVVGKaNwfYgyBfhksoH83CCF9seiL7LBBnLXTlP4/W4dza0ZLS0nCdlgA9npAQq/qk/Q + sKa0NJ8nIBtsIBPrp9CqPMJBYVLLj+04ZIMNrF49ReHwVRafH1/R8m3zJmSDDdy/fJJC88Ua3mcjWurW + LGSDDaQifRS+O8uopsNaPhVnIBts4E64l0Jj5y4qDy5q+ZCPQTbYgHmph8LXZ0m8TJ3Xsp+LQjbYQOJC + N4XadgLl22e1vM1OQDbYwK1zXRS+lBbhmEHsLgU8kTeVh+OQDTawEDpB2U4mitfpMS22GYJssIH5QCcV + FGwBmuRtkA3cGO3whcZUlEdeqKKU8sgLVZRSfjw+MP4DJ2GPpDR9OIsAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -458,362 +470,25 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI - jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs - FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm - LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml - CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV - hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q - bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX - YCSg/AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL - SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 - 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P - zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 - 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj - L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 - RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf - nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P - 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj - ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G - xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H - dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 - LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob - gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 - ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi - UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd - XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 - 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN - jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF - Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn - ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW - 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 - zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU - 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 - CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f - UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW - nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 - jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z - cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 - wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md - mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk - hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR - PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl - hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX - vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO - Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE - 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO - a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC - KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ - gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp - JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe - NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G - IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq - 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 - OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 - NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE - M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 + 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f + 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 + uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 + SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD + bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 + 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG + TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX + 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj + p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY + RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB + lh7gOXXZq9sAAAAASUVORK5CYII= @@ -1063,51 +738,7 @@ 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjEwQ0IxNzBBNEM1QzExRTRBNkNGQzRBMjhDQzI0 - MkY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjEwQ0IxNzA5NEM1QzExRTRBNkNGQzRBMjhDQzI0 - MkY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTEzMDNDMjA1QjRDRTQxMTg4NERE - MUVBOEQ4QTgyNTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - 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 @@ -1119,24 +750,29 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZCNzIxMDY4NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 - QTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZCNzIxMDY3NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 - QTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6N9zpwAAAB70lEQVRIS7WTTShEURTHZyIfk0zRlPKxs7SwsZWFvSQbC0lW - CsNuMMjK9+4tWKAksbCxsWIjipIis3gWhpSPhZTkq+Oc+8697ntz53mFf/3mzDvn3P9/5r2ZEAD8K8bm - X2Js/iXOi4+2qqIWAsgpV4tHvgocsFlZDA8byyDq+pKoPPJV4IC18iK4XV0AUVfmReWRr1wBi2URC4Fs - 3MzPcZ3NmHlQt88VYMUKID0zBunpUUhPJh3oWvamRkDsTCQh1deJPeoj2Kee3KUd9ncHTJfkgT3YC/ZQ - H9jJ/m8SPWAPx8V7sYP1pL3Z6cldek9nEdphf3fAeDTXQiAbB02Nop7FuzJmOoni3GX2/5ZI8VGiKAd2 - G+qA6nFHq6g8CqafAgYiYQuBeCScotpdGBafsrSqxkJAw/z/+Ckgm8j0/RMUdM0jt34T8PL2oeCAfGeq - iQKy4ScyfHp+VXBAzJlqMhlLdKGB957D/eOzwjtDnGdiMpbookPXd4+BoX1x0GQs0UUH7Kv7wHBAvtFY - oosOnF7cBIYDYkZjiS48kPEMjs4vFd5ZtKx6G49VGI0lBtGvpB5pIZO9E1tB19hvoxlDe8G/AYt+5xRS - QYY7hykFB9TSjKG94M/AKzLc3j9TcAAZu2UylvgJDV3PRN1zl0KhL06k1hGgG+rkAAAAAElFTkSuQmCC + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1148,37 +784,30 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBCREI4OERDNEFENjExRTRBMDIyRjhCMTI2OTg1 - QzRCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBCREI4OERCNEFENjExRTRBMDIyRjhCMTI2OTg1 - QzRCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjY3NUQ0QkNENDRBRTQxMTk3NEFD + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5EAI7UAAAEwElEQVRIS6WVf0yUdRzHv/f7nueeu+cO4UQEIdnNarXUyLUa - IqdOJggklBBuYoDGLw8UFJWTmBYYDEFQiARJgakJOAQHVF5UgIgobYkFRDFdNPgjx3LFr/v2+VzHI9gP - 2fhsr32ez4/n/eX78Pnel/QUOSyIp1p3gcNCkXflOxy6le8wCM8T8Hznq+O6CJCWAiJy84RuIbCdebqW - weYX6J1SZ3ojTzcCOWvfFQP9MlubCwvISUeubt60fagLb8/RdX6SrHGpTtVw8Px5f+Pz1JKlbYz3Z9aA - oGv6NpU37KDv3uXltO4wH0W+Pq6dF61Z2h3gp1qztQ/MYewKiC0/1D9HmzL5CoVM5AriekADsEXvcmu6 - ivX0+gfau8TyPv9UvjjKvwN+6vox/n5GOGtszuTbemtX0Aazptwu7ggwgBgQARLo/Q2YJC2Z/P/SlMFH - gZ9ufo8fyghjjQ1mvqOn2oPWpM0RV9qFbdZo5g3wjvXaEX4QAs1/cjVdEwPe2pCu+flgCGOsO6jp7D7n - Ti+kqM/IpUQQr9qr1kOf5G9xjRx2Zrld7UnLE7lMciVN/a/UHVDvBm8F/1NqMGO8lKK+eeOMG61M4krt - 4otQvPaAOgD6/oS6OdJXoapLU9d0nVtOL+zjruo4kTu5lML9g4v7uHjwVvCDyVuUxqokruubYldaFq86 - DaJLZ8RBJBj6xi+mcKOZYYyxOpmrby/3oOdNXJ2eF7tDjyOpMnFzqNzDJYK3gh9I3Kz0rUjgui0FS2nx - LtWp2eLn93BboW+80sSNpAYxfuVxqqbWIjdaFqeq1alEy6DHCWDI2TiVQHmsygTeWhar6o9cp3jt492q - 7pbcJfTkTrZwlrgC6qEB3u7Ti5a9SGcI8zfQ4hi2RjtbHKeqdBdr46MY1gTeWhLN9gV5yVblbGeyPst1 - ofmRzFloFMRLYtg3oW8CRSenqQDGWtYmPntkCSnaySArgcnCSGY42EvmBWnngh1Ma1mChga+LHsFYvyL - lCcjmbfsfb+i4B8TUwIYQ48L8Fgc7cR2JcmLUFZ+mq6n+wMUMZBaAqhzwpXF9UedqTlYkbHaQ7I4921l - IvROQe9w1Dr5RhQcezQuYF8Ap+uxONrxMCUymr1NOcLIbVvUAdK4DXI95IYuH9ZTqFtD/QzC955h9OEj - gSdrAE4cIcdCFMhk5huKHghxiyyAp1Ic7SMzmAMV1VDrxZcejDycN9gPGoRkBMnJkUB5LzDmqRc/Aykl - 5hAwPJ0qwBFfGLg/Om/sCyjIIX8Z2e8nS6mId6BJG2UlkOQAEebtJo54VWpb4Lsff5k39gWcUJwYn5Uw - KZtk7fBsNa2XFUKMd6EIYhHkN4HvDzR6znxbgVv3hgSerPHOhmbQcCV7N+DNRkQhqyUuJqO0owx2Arnf - k9dLb4Mfzo/mMbbGrpWeEovIS9C7BQhHkbZvBwQwhjxelaF2fAAnYvKV2gATG/QiPvp1aVqCj7QXcpPA - WNxa6bWQlZKtUMfDhiOMo+iGgpau7wXsC6yy1xE8OwqS4CMRAMMZxt92HNXFAE4VimIz3lb4n7f97qNg - c8ddAfsCKDzXYr0lcwBDAdySAsBTiQuiMBaFSwUET6PoDMI3n2OE/AXV7wtcYQSjewAAAABJRU5ErkJg - gg== + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1190,30 +819,96 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk0MDA4MTVGNEFENjExRTRCNjgzRThBMjlFMzdD - NDk4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk0MDA4MTVFNEFENjExRTRCNjgzRThBMjlFMzdD - NDk4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjk3NUQ0QkNENDRBRTQxMTk3NEFD + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7U3Gz1AAADLUlEQVRIS7WTa0gUURzFV4mKMqVC0XytgabkmiauZOKDwlQk - wswiycAPGoVSFmRFJC0tQX5Ii4VAc9V87KqhGdima33wQSZWoilqaa1u66qwGSKleZo7OzOM4/gI6sDv - Mvfe//8cZu5cCYD/ivgiT889HFQUYFAxy5zE+vnQw8Lc6xWpc7fHVE0ZprRqkGexGoLQmIUexBpYNK7b - YC57BHNlIcizWA1BaMxCD2INLGWudvj2+AFGFDkoddn67wJayo9W1OT5j2py96A+Lxh1dwOhveULar1S - rF5ozEIPwuLmkriapqKQyZmJ04tzllNgoebQq0OnmtWxNcIeoTELPfAL9er4quaikKnZ6ROUYRLaNRFo - vB+MztpDmDGfBFnXF4dONxfHafh9QmMWeuAXahXeXy3jx/FjIhHlV71QnhmEzpyz0Ocepuffxw/A/Dke - WoWPgfpLbf82wLbq5m7jjCkBfU1RaMwNR3tqErpSE9ESLYfuRjjeP5PDNLwfpC72SOgm621YRcKAyhxP - o8UQg6aCvSg8E4CLW2yQzVCaHoCOUjmM/f4gdZERgZsZm5W1LOCym3F6JAJ9tb7QKaNg0qitF626DE3K - aAzpwmHokSEh0md2p4cMPJbdclqCAInminRwVCdfNPZIUZHhguoML7TlJ0N3OwJ1l6SYGJDjXaXvIjGd - /w0OMmcsl0oYoM+PKa664GIabtgFQ7cnPhbI8OaODP0PA2Hs3YeBlzJUnHc2EcO5XwscTMDyMxEGEBqV - B7VPMpwMrVnO84MNfhh64YeBel+0XvcBtT7WoAh7SgxnZn9yMAGOVleexAIILflx9zRZ0u6SlB3QpLvj - WJgP+605Ji2zHMI9CuuZrBRAoGSj3L4Rvdnn6KYxs2XdkPr1BEhy7TegNzONbhg2TK4bJmDTmgHX7GzR - nZZMN/R+Mq4bJsCRDhDCF3XBVOSShTm50k18uvq/cAj3HJy9dVS725oBApG/JJIiiZi0fRjmIHNqPYXs - MZC6td9AIPKfkxA3Yvjq7QAHExBE9hhInfUMVmI1EUNdRx8HE0CMl0rMmGU1UYYqYsrCffMlkkj+AEZF - 7H7+T6nEAAAAAElFTkSuQmCC + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1248,7 +943,7 @@ A2MdqQeVc5pWAAAAAElFTkSuQmCC - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1282,704 +977,7 @@ SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU3QTU3RDNFNEFBOTExRTRBQ0FFQkQxRTZFOTNF - OTIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU3QTU3RDNENEFBOTExRTRBQ0FFQkQxRTZFOTNF - OTIzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUI3Qjg1NTlBNzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz70M76IAAAENElEQVRIS52SDUxVZRjHD/SBcFOZSgoqKWQQBhjyofdaQQp3 - E+d0Ko4xW8221kLKRC4QRUCJERKklAXEx4UNYYDJh7guAy4IXTTSGyhfFxQklitNZzmD+ve87+WcLnBc - jHf77T3v857n9z/nvEcAMCfG/zYjt2eJbHE2yAUsdvbcSzSxWaxJN84GanyUOMBmsWYhj/d9IRT6tgvw - DAgGrQ/xgAfj/8waJj+ccARPrvZmgkBWk+QvhuLayBiohl7TdTFkt3D/rwnpKf4PamhppicsO10nhgQR - 7zH54PAoyCWha25j+w3CvfvjsjI5WEBj6wVQD05VmUPYZxm4NsprIj0D1+G9UW1+gzt/PJCVycECGvQG - UA+nqlaH3sERac3o7huC14YQJo9hPcKtu3/KysRR47xwP3GRuFPpbD9R4+aIxhAlruZ9DeqdgvHqAMn5 - t+dy7rl5+94MOd+gcXrlgmPVnqtw6bOjMGnzMKTNgakoB5cyP0GNtws64qNB/ZzOrj7xYA9P8fz8690p - YpHy5fPfqiL5YOFXMGaloWbzBlSsWYaaQH8YM9MwlH8SVV4u+OF4FsiBkoo6LHP1YQFqS48w/MvtKWKR - YkdFV0dqMrqz0qF1VPyevdQuedVK947yg2+j1G05DImxMHyciErVOpCDU1RWLYaEih5hcPS3GXJG3lK7 - CVNmKip3bkWWg20m+2TU2FJZ1wRdvAYlgQEwxkXhG8cnQA6JorJaOJpDbJhH6Bu+yRrnEzGESeSEwzz0 - pb6PXC9X+DmtHpusR7v5BGLHcz4oUK7D5cjXkE33sb/GkhXP+LEABQ+4MjjGAmIOaFKga+2UyHBQ4MeE - Q/hiow/yI8J5TRW8izX6Ji9WFGq3q2F45w2kL7IZp5rLNLicBxj7b/A3WPKUFz7KoAPtv8HJ3aaGdvd2 - nN21FUeW2KJ4/6uIWB+A6EWKiqNO9mg/+Cbyt4Xgw4WP6fgvR0OUWiJ09gzzCwrxYiFJn34JqqEutwCJ - 9o/jZJAS1XQOn7+kRNrzHjgeqETD6/tQHhGGD2g/UvFI+KR/hpwhdHQNSQsKiV3rH4zWzl5QHcWaOCQ9 - 7YwEd1eU7t2Bij07+Zyu8keMwnok0s46hbxWZv1DAtoum/gFk3v4bcG3uu9BNYn6qnpkv7IPcSscELXA - BlF21rciba0KI+ZZqSa90pguZwj6zn4mj2PyinPtoLXEd+1dU9ab1GHskDdN+mYM2QBqCGfy8vrzaLzY - I1Fe34q1/lugScmUair1njkF6E8UVEJnuCJRWqsHC6W9WHbw0UkZvK4KMQfIiR4GfwO39UEoPtOEc+3d - KDnTDHffzVzObqDZg4W8m3gMyrkEnD3/E5PEuPkEISPnFMlfZhINq4vQ+lkW4rTGl+0pLPfkpJYItS1G - DjWGEY1sFmuWUN2KyafX5aT/AeFfWm9WHAbkArwAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdFNUQ0ODMzNEQyQTExRTRBNUQ4RTJGMDI1MThC - RTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdFNUQ0ODMyNEQyQTExRTRBNUQ4RTJGMDI1MThC - RTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzJGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz41vT1rAAAEBklEQVRIS7WUbUxTZxTHS2/fb6G1VWjrwltfgGGRdgaxbkLV - FawgoKJuyMDotjCrw4ERHC/CQBjWDRQLSHnfmBnBmkBi/LCY+GEO/TBGtiwxYW775odly5aYLC7573ku - LbasJWGJJ/nl5J7n3N957nNvywPwQnnxEW7qaqjjzSSFXwtH2GIkqNx5hQXNZG+CcD0rCVsMJrBjmh1u - Gc7eMnA5MCSwHomwxQD0Znu7lJPR7LqRBN+iA+XjG0PqgWHhHP8pBKA3vdooxZvD8Vw+PpqAke9zUXNX - j/P3LDg4oOXqZf71SENCLgLQ5qxaCYqvbcSF+9loq0/ClF0Dn0kJn1HB5UnbBrTXJaHlm21wXIrl+v1D - hMGuEDGFNmWeFCPPrcX7d7eg7YgaM+ZEzH/aicWJITyeGMTi+CDmuz/G7OZkbv3wZBrsF+Ow5czSB5B+ - TFSqSmUkZFhUiJjbeb0KBUN6VN6xwHVCBR+R/zQ2gIWeLszuysa0UYPZ3CwsdHfh8Ug/fBnJcB1fh73D - JuQPGJHfr+c8lESn0LIsNrwh/H3rBQ3239yEoi9TYfmERY+ZxYOOVvzQ44Y3kcXbpSy2d8jxTrkc3iQW - c811mGtv5vqs3Sws7hjsuJyEHW4DXqmL47y8hGLBaUutGrv7DCgcT4PzuomjYMQEr1aGxe4O3CxxovZA - LIo+S1nmXJkGn+duxUL9aXg1MhSOkfu8Jjh6jcjp1MNcpYZuFzPI0+Yxpdo9zLw2n/mF8JtuD/NU52RA - 6d0gwaOORngz9LDliJBQIoL+kATGI1I4d0oxasvEd65juEb60ipYpL7FIqWchYmQWhkN5Wa+i7wHnoCg - JhgI6QQzIYOQ6VaJn33bUAPPNivOqUS3RKqoHKkuKl8WH1V4dr1oZmJfHuaq3wXp+0du4h8NEJ3Cr4jZ - xH9PwPKsxEPeNI8nIrCEGILCj7JFKbwzcXAfbh9wok0pfNasEA7XxQirmxRCb6dOiftnqjBS4ECDQniP - 9McGEedHzZvvVUWkKZrZ26wUod9uwwx5D1dybOiyvIyruTZ8daIcU2WH0ETWq1imjMiYFdCTYajIQ0Ak - viBfTutLAjSk6nHjcDGmS0u47N6ehQ/XM3+5ZPyPiIieQvj4+pISf/9ZtCq/PtyJqZPJaEqQ4LxOhMZ4 - CUYr4jF9Sk5/ufwlU4S43RzjIWCtPH3iDL72+HVcBP8z8Car5bRGdyEmyFaD9OLJQ+tzHljxxyM7aJ2s - Lz9JyICrldK14CEQeTbHz7PpoNeXj0qHiFe4pF8xoHW/eE20lIj7SMaP40bQXF8oHiNOegzhn6DmdcGa - +WC3oI9knLILhokvRE4jZEDVa8z/ggSV0mMJkdN4PgC8fwGKe+JSzfQhQQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg4REU0NDQxNEFBOTExRTRBNzQ5RTJDOENEOTZB - MEM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg4REU0NDQwNEFBOTExRTRBNzQ5RTJDOENEOTZB - MEM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUQ3Qjg1NTlBNzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz55z27YAAADl0lEQVRIS+2Ve0xTZxjGTwgt0EN7WrFqh9MFrdVyE3VMuyVj - WTITRTcz5/6YZHEar0A0JBMBRToMl1QEBURsRSheJhFwVC0yjAtEqJe0IhdtLB0a8TbjNMYtYe7Z+zEx - R9egyzT7xzf55fu+93ne50vO6YWzjRP+EwCGxefQv8FXqBhfQ0uJc8R94sGT1UksJ/7h9xUqhqt/WyFm - a0PkO3Bty4XHaoHXuhueqt1wFebBFh0G0gue8/sMFcPVhMqHWFNH4b2Vu9BRlA/bxzNxWDsGtrhYdBTm - w1tRhrqoMJAvUTTDvbCqNfwQnWdyjOgqMsGq4X8tGS0zpoUEhtI+hbS7jsxUOLZkMq1bNPMkZZiyjJYN - 8YenMAe1C+agSB1UKOozsvfFvYeODclgPrH2wirRju0dRB0Id85GmKMmoGC8+ib1vE8Zr7691zAVFxKX - gPme0YahmGB3BBJq04iAAWdGCkpnTUOWUlpJvbFDGFXSPdb5s+FYuwLMJ9ZeAs6f4I1Kid26cD6Ofz4H - 2UrJwGZBYkkXJEm0lue+pUTbulWoiP8EGwXJKfIrXhrHVhWOZAhhtV8Hd2UqpSj7yIAGeg/bPzQgP0aP - HXEGNC9LQM1Xi7CJdPOnsh9b8pQJ7SbVVQqQsHl7ljKGzq0tearE1nxVOu2Psh7TuJPZArYsloU3GYXT - 5rlBA5ka/z8zJk/AwS8/w+EvFgyupvdjsV7wu5vzrtR5bJPCXLNesYzmHjd/J9xrL9WgYCn/wYksoY3O - j4jfGjcLjcXLgw0smzuSJkdyfODU2lR5m6dpCnrqImCaKR34NsTvcaraH+mhEpTOG4nyBNm9+jT5gwMp - wRW7VvMr2y3jcMs5DT1HI1C3Qd5P2u+3zsfgjmsGaP+I9Vg2V53MozKR77Ym8w+99nD0NUbgZ3sEvCci - ccc5C1ebQtHfGoO+5kj0n4mFNYn/pSqJ73M3RuH6T+G4fioaV2xTcMMRi2vNUTSrRy+dr9j0YNlcyTdB - OFsWhl57NNyH9Og0C+jaq0LPvlG4/P2IQdw1IfDUa+jySLh/0MPdQMEt0+Em7dJ+FS6Rt7s6BJ0WARfL - FYSS5nVg2VzuogC4tk9Ex85JuFCshWsH22vJpEXXnknoqSSsOgrS4fJBHYWydTJBj7NKN+jpJC+bYbMs - y1n098qyufR4KV4n9EnjAgg18fwX5FXB+RHsEvbD8jp4U/93+foffXWA+wv9GwQ30fQQcwAAAABJRU5E - rkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI2OTgxMUNFNEFBOTExRTRBQTEyRTc3RTczN0M4 - QkQzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI2OTgxMUNENEFBOTExRTRBQTEyRTc3RTczN0M4 - QkQzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUY3Qjg1NTlBNzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6CerVFAAAEkElEQVRIS6WVe1BUVRzHd7n37rK7LLtsLs/ltbsgb8RBQDTl - FaGW4SDWmI8sLAGRtRUBRUhUXhKPAkOReKwmsQIOEOboOsofKlDDI6UZCaH4wwbTcey/1Pl27oaEiV6r - 78xnzu+c8zvnM3PvzL289kDt/4Izcx36N3CmNUDL8jMphVdLbQ6Q0YLAn17nhDMt/hre1/6aX0ipvFwk - R0+RvIDUQgKf3eOCM81+at4pP/UkKVXnD8hws8MD5/JlJWRulrD7L4IzJ3zceQYfd7Og+xMZ7t0MwUib - Fl25f0vYnufBmUZvV16Dt6tZ0JFjjfujofhtZBF+MGrRvsd6RsL2zQVn6ua78I7PdzELWrOkuDsSjLs3 - vDE1HIyBr9xhzJTOSNjef/JSqfF0NgtO6a0wNRCEO4MLceuiL273B6GvwRUnP7aakbD9T3LU03m64kiV - 1sksMKRb4faVQPTVk0t1Vv39TW6Y7PHHlWMuaEx7VlKtdZquOFKudjQL6lIkmLwYgNOZMsQGMqFfpkou - 9VSrMH7OF5eqVKhNljwlqVA7sgN3DrvZmwVfbBVjotsXJ3RShHrQfgvcKKfabRKTqcwRox1euFDmhOok - 8Yyk1M2ePc6dAldbs6Byswhjp71Rl2yFUC3tQ9akMf60oup9senbQnv82OyJs4UOKN8kmvOdPDf5zsrJ - Y47SXad9rNHtIUenWoZOF9nvhKEzzrJtkb60omyjyNS53xbXGz3QkW+P4vWWLy+pVckfdPq7YbC8CGOG - OowbajHWVIvBimJ0BarR7mxdvsyLVhS/Y2lq22uLoVot2vbZ4WCikFtidJKmtpPLbzUexXBlCbqiw9Dq - YY+uiBAMV5RgvL4G7QFqtDhJ05Z6UoqDCUJTS4YS31dp0JJli7x4DskJB8n1vsJ83KgsRYNKgo61dihY - LUK5o6jE4CC515uXhd5DeSD1CGm3CNdSity3hCZjhi36ytU4qVci+80XSOrsxI/GKgrRtmYlDvlZYqBC - g8JEMV7zpcKOOIgqT0aEYjh7B9i+3SsEipQoZt6GxbR6zyrBtQv7VbhW4o4m3TxkxAnmllQrLR/fLNyH - 4wEaZIQI8E22A/SxzHdZK5iHBa9aoiF8AYa2bwHpI4/jL/ITRNgdxwxlxjEP2vS26CZn6re/Al0M86zk - U4Xwj4EcPY4sXohcDwHK1kuxLphK0kXTY/kawYRh9evo1X2EUoXw8Y4oun1nDD2aFkmfSVpKZadH072p - EbSRzC+T9cnjyQqQ+dOSQ3Kmy7B2Nc4mrMRBGwY5WgZ6Z7ohx535tchRjqs7k1H/Riz2KumfNoVRKanL - 6fMbQqm0LeFUFluvX0Rt/GAJXUAu7kuPosGybdksSa6UWpUnF6AmMhyd5D18tjwcJUE++DwiHKakjTC+ - uw65ZP89sUUSOSCbxmZ6tCbIZ63ZEdjvh5IgIbC/Xx4vRco83iWhHuZ4adD8djxaE9eYx9IlIdBLqEcf - WjH3N8ssJ6YZnzXOrp/sz7CJrJsFJJI4AT8mWcRv1In5U4T7hDtbRXxjtIAfT/ZV/w2e6k+0FURyr64p - kAAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkExMzE0MEIyNEFDRTExRTQ5MjFBQ0MwRThGNTU3 - REFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkExMzE0MEIxNEFDRTExRTQ5MjFBQ0MwRThGNTU3 - REFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RERENjE4NDBDRDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7V3v1pAAABvklEQVRIS6WUMUtCURiGHSKhQSURRbJBIRcbgmjtD7TVL2hv - qCFoaW5oaPI3tERBS+BgEIRR0WCUUEgUgkESYYIhcXrfc++p6+0cPRdfeOD77jnf811vUCg+PTsSQoiB - aIeCoJN60Q4FYWh0Qz6KQBgouhpzcGkYovcttPDM1Zjjk2nftgubzTOX/l+FB15Ep9sbCTpctRP/go/O - 10i4C8KOHfEtGPQHtSKWnjmCNuHYETzsA0nwYrPVDgRnMLsCFumgSMYrJ0iYl19e3wPBGczmAOXGT6QQ - 9cabhLXqTbXqoft7cxUc6BC1p6aEtepNteqhm3KsnuBAh6g+NiSsVW+qVQ+d/YLr+2cJa9WbatVDZ7+g - Uq1LWKveVKseOvsFZzcPEtaqN9Wqh856Qeu4fCXKlzUreDeeKbShs16wt7G9K0qVOyvWtnZENJU7hM56 - QT6ZnRPrWHJQuhAn57daeMY7vDs+EV2FLuVYPdHIJdFkbj6Wzu/jp3+i//3mXiYzhU4kmT2FfBOqBRCR - Um9wUQsyBvhGHFwCy4D/a7zwGc94Jwk40x+dXIFwgG/FRfy+OnjGO//ljE4chMEJhX4AMnDyVRS80DQA - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUyMTg3NjEyNDlEODExRTQ4NjNGQjM2Mzk1QkNB - RkQwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUyMTg3NjExNDlEODExRTQ4NjNGQjM2Mzk1QkNB - RkQwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkJCNTE0NDlEODQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5e5MstAAADiUlEQVRIS+2UW0yTdxjGcePwtYyVVpAUCi1tv9ImrVbxhAei - kjGphAgFT4jzEJ0gGuJhDk0sml0sglmWmC1hqHNKWwI4srgNh3phpjg1O1yIN5DMbFHQZUu42O76+D4f - 3Fl6Z7ILn+SXvH3f533++X/98iUBeKW81v9Uwx1G1+1240EhfKfdeE/4U3qTAqaZZO/2aeN9IXLrY+Ph - wVOZHll9YyohgYZOGS4JsYdXVDy+NQ8Tvy3BP6OlmPyjDP9OBDRYs8cZPfRy5/uQISIRqcIsLSye+j7I - wN+PluOvhyWY+NmL8fsOjP9kxdN7BRh/YJHfFjy5m48nd4ThQjy968bEgwV49usicFciTEKKFhZPXXv1 - eHxtLsYGPBjttwsWjF0xY+ybOfj9uylYs8cZPfQS7kpEnqDTwuLp9GYlfKZeifUfzcb1j/Iw/IkNv3Q6 - MfKVC6O9bg3W7HFGD73cORlMG5AIizDzAaVtunD5ESXWfNSEY/tNCO00oG1zOkJBBSeqUjVYh6R3Qmat - zSY0Hjah7IASW7hPuSoRvIGihcVTSauCppvFODRUjJZvPWgaKMTuXgt2RHOxLTwHDd3EjPfCudgesWJX - jxM7eryo7/Ni8SGFj8gp6LWwePLvS0Og043A5y5UdtkQOJeLivM5ePf8bJSfM04zG2u7chDoysW6Thsq - zqpY0+GAvymNB/gEgxYWT64tKdGihpSYv8WEpSEzVp0pwDuf2SVQReCiS4M1e5zRQy937NXJ1yRirjDz - AVmVJyNZa9+PObauh7ptKdR6FY6N2SisTYe1OlmDNXtqvRNqwxLYt1TCVLY1ZijZOSQRbuEtLSyeTOXH - sfLDH1EauoFFx6/Cd6Qf7pYI1ObLsO+9iMLdF+DccwEuqd2Nl+Br6sbCxiiKd/XBuPogH1HiAzJXHMC8 - YA98td1wb4rCuaEH1roo8oMR5JGaMPIFa10Ejtowiuouw1vzJTwVXyBz+X4ekPgRZfgbohkLtsfMy47B - tqYdakUnPFUM6YUv+LUGa/Y4o8e8rBXcSffWDkpE4j9ZpEvNmb9KsZV16BzrBnVq1YjeVf1MX1Tzn74o - iCmkdq1/LrNHOkfgB6Vg9afJRrVOdv2ClRkMmklvCnyPs4V8ge81v5RegddnCGHNHmf00JslcJcZCcWv - IU1pAhcyhLcFXj1zGtbscUYPvdyZ+Uv6Wi8rKekFBjoX2627by8AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM4QUEwRERENEFENDExRTRBQTE0RThCQzEyOEQy - OTc1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM4QUEwRERDNEFENDExRTRBQTE0RThCQzEyOEQy - OTc1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7dyRkqAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH - prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 - U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB - 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD - QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG - 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU - 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao - GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc - 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 - /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC - Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ - KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o - VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX - 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 - seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt - NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei - /A9dc78cqtG90gAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg0OTgxM0U5NEFCMTExRTRCMjhEQzlDODM2NkRC - RDlGIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg0OTgxM0U4NEFCMTExRTRCMjhEQzlDODM2NkRC - RDlGIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REEyRTIzN0FCMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6v8JhMAAABX0lEQVRIS+2TvUoDQRSFJxCCUeIPYiFI3sA3EGsLEVsROzFV - YoiI+AOCmkrQblLqmMqfdL6BD5B+t0wVyBuIHO/dmXUncdiwZk2VgY+7e8+Zc3eWXfFenBsJALE4NyXB - FWrj3JQEV6iNbZYEUkAKe7VWCiHovT6h99akqjStwWvSXx615/lBV+5zz+zlHCIa0lyekQSYrmoENY5h - nq6S9r0UjaU8Ovd1dO5uiGt4RyV4tRK4T7AeeLzaAbzqvq6khx5+SK1Tz+g6r67124WcJOBfVOGfltHe - 2QTfX83nFFXWI8/5IfyzCtp72z8eHhDplMH67lakX85mGUngY2MdXE8KWWX6Nsaz1ucJl0sPhOPpTIgk - UM5nlNUb5JfHXrZuWkJUpoRYLK5KAimjvyQzAJ9fSBXOtAf8ywmCP5kuxjLAecxR4MyxnmDyilxMXtFQ - +k7wZzgkDuemJLhCIyC+AQJpG34j81bcAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGQUQzMUIxNEFCMTExRTQ4RjdGQUM0QTdFMThE - Qjc0IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGQUQzMUIwNEFCMTExRTQ4RjdGQUM0QTdFMThE - Qjc0IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REUyRTIzN0FCMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7HZq05AAACGUlEQVRIS7WS30tTYRzGp+Vym9vUVVuZ+w+Cuou8DLoLvFFL - yKQf1iQwBpqhbGLrp1l4sbfQMpZgPyiI6DII/wEZJhVdxFCMkv0HEk/v854OnPdwOp6x9YXPeZ69Z9/z - vL98AP4rjoO1xHGwlhgPS71PRoUEVP6OJQ8KCSpE/DPgXTKC8usFUCXq41u/URHs0QLetkeEBCblVwWU - X8wrP9keX7XMzCv6Ct4cCGNzcc7g+ROpj7F+f1J5vnP4wHboAS/bwvi1MAuq6dfuZpQfbEs4boMbDNEC - Fvc34efTPKikdHNM6VwiVOBsLDPzir6CZ/tC+PHoHqgSQX0YDxZ46PyzrdkLesB8PIiN/BSoEmHq3wDH - bXCDPVrA7N4A1h/kQLV5zr76FeT3NGLt1jioyt/JyEPOKj+UiFV/TWdiu1C6MQqluavKfx44idL1ETXm - tA1uMEQLmG7143s2DarymTQ+9XUqf3F381fb7Lygr+B2ix/fRi+DSpZ7TyjNNvtrc01z0QZ8GU6BKhHU - sUiDeU0dt8EN9mgBE5GdWB06D6rhz5m+NrdoPLwDK6l+UA1/BiuX+pQ/3Rqt/hZda6oXEiwdO4LihVMo - DvRi6fhRFM/2gONO2+AGQ7QA1nCoXkhAlvu78LHjsPLd0XD1t8ha6WAdPnQcAnUwUKcO2iyzqRKMh6Wu - BHxCglSjT/s4y97sBePhsezN2wPfH446+pStKAUKAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRBOEM2MzQ3NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 - RERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRBOEM2MzQ2NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 - RERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTMyRTIzN0FCMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6xBZbXAAACOUlEQVRIS9XT20uTcRgH8N+ch22ax7KDOilzGmVhBS2Qojbx - JjSjOyVBMBui1VqYXthBMIqgQF6LNVgidkKQcJJBIBQU3hgOpiR1Ixb4R8S35/fyvvbz7cES7aKLDy+/ - 5/B9djPh9/vXBcCq2CVDjKn9hgtVsUuGjTkQc2exaDnG1a24UBW7JP13B8qJl5SSbFnbsAOjRZlVbw6V - 4m3VAUwc3I0xz1ZQrV4eoK/sSwNE1sOk0qjpuFCVeF6QMRwPBbA0/BhLQ2HM9YQwUrIZp04cn6Ce7D94 - d6Za73/qaAa9w0Zdx4WqRHSb63X86gV80+5isb8Pr7x7oeU7+30+3zj1bsr3onYHie52DBZsQk+e4xjV - 5Z6OC1WJgS2OjzOXW/D+bA3mLjYjEWjEs33F6Cxzf42W5OPLrU7M3wgh4s5Bb25aqxDCRjtyT8eFqsS9 - 3NRzkfJC3M5JHXm6fydmGuswGzyPF0crMN3WhM9d7Yh4duB6dkofhSfRvNxZxoWqRG9WsnSYllPoq0X3 - FGOqzo94awMSl1rwpNKDrszkh0bfnF/GhapEd4bdSnu0azsmfV4MUXgw3T5I4U5mTseFqsQVl83KTu4H - 05N+tDlt4dNptjJLfwUuVCU6HDz5P+DqVlyoil2S/ukBCq8h38nL9WAPUKOCLJAj1h7H+outVgxTaCGZ - JyfV+mq4UJUMNbnIB1Kr1P6IC1WZg3YyShqM91/jQlXmoEYC5tJacKEqc/CaurQWXOgvED8BwmqyacXu - n/EAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ - mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ - Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX - E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 - i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ - CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw - PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT - tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p - uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V - tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN - pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG - Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE0Q0ZGNzdENEFDNzExRTQ4OENERTg3M0ExRkU4 - QTFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE0Q0ZGNzdDNEFDNzExRTQ4OENERTg3M0ExRkU4 - QTFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjAwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6Ak4wfAAADR0lEQVRIS7WUa1BMcRjGG2YYH3ww5NJVyG3GF9KN1U21KblN - yaV8cuvC0IyZInJNIboxZrvJFk1CtZvNlHTVTC1FKxuVRsgsbWyifHi85+xpt+yEY/TM/ObZ/3vefZ6Z - c+YcIwBjymhaSHhx/ifx2dXJR63RaMi9tcff6u92wzatrCLA4OO4GD2aPtaHZqMxym4VF6vXLl97NBUl - oUmSjMSje9Ct7kVi1G40FV6kWQpayrKguJ+Gp9IUNJeksjN2N2qXdpf+o3yYw15nsihymjaZ0w7PpajL - PQ1ZfBAiA1ag9XUHIretQn70ZuQf80NF6m7cPb1Ve47aSDN/SGICEBXkBGVHOw5vF+DOcX/ILgWDyaJI - E20yJ3/nJShNCYQ43B0xgbaI3GJD7oCs/auQESJAxj4XZIS5IDdCiKyDbsgIpTnNzgTa44D3InI75B8R - QhLrByaLIkcW+DosgCjUHaK9zqxnHvSCKIQCI320c45UmolCV+tnwdr94TBZFDmywHOZFf4nFDmyIGDD - /PDOl2XoVEqhyMtk/V94qbgHJ0fTWIr85Rmst474oXmMwc+1UMlusc6X/k9VUHdXQ+hmeYqL1ctv3bzo - tq5GtHTUoV4iYZ0vza9q8ExZSwUWcVysXpvWzokZ/FyHAXU5PhRcZ50vX1Wl6HlXDk9X8wQuVq+N3lbx - z9tr8eRFGSpycljnS4PiPhqay+DpYnaFizXSffXWr5mdMqB+gO8fJei6nsw6X/q6C/CpSwp3Z7N03dd0 - 6Iev0DJN3lKKmsYCSC9fYZ0vlfLbqJIXYbWTabZBgY+Hhfib6i7634vRlhDNOl++vLkG1eubcBOY5BkU - eLub51U25ENWnQnxiZOs80VakYaSymy4CkwKDQq83EwL+99dQ19nEhRHw1jnS29bAj60XoXLipkygwKh - q0lJcXU6cmXxSNy3HzeKL/AiR3oe4qI45BYn0Zs846FBgYfzrHKV8iLePjuHmkM70fnkLG/a5TFQ1p3C - SlvjR7oC0jhigpPjTJHAbnq943JjuYPNqDz+A412y6Y12S6dmk2ZU4iJTMF4YjIxi5hNmHGYc25BMPPh - zCEsCSsO5sxgTcwn5hJM3iTdLRobYPQTdTQPZQeGFN0AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ3RTU5RTMxNEFDNzExRTRBRDBBQ0EwOEMyNjA2 - MTlDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ3RTU5RTMwNEFDNzExRTRBRDBBQ0EwOEMyNjA2 - MTlDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjMwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7q/i/2AAAEZklEQVRIS62S2U+UVxjGv9umCVpkACE4UA2NoLIIKMgSK6DA - sMu+iZRF9tUBYUBUQIIoSnEZsCj7LijEkXVYRKCovbFJY/+IXvT+6fseZkjGdEhNOsmTX97zzTy/Oed8 - EoCvyld/9D/cZ3qgi7Ktj7nZ/r985dKrvdJ+xBJfxkcuTdOzZl29gWC7qeUO9GHB5+U+fF7uxx/aXmLf - F+wXhX8qU3fTetgCn+a74WUjvdbVGwoKy8qRdCkd2fkFQvBxogXvemux0VeH9Z4abPbX0azC1sB1scaC - 32LPYMVDjo1oTzTYmmOhuxbu1tKcrt5QkJmbh4TUNDBZsD3aRIU1ePusigpVu1x/fg2bfbVC8CHqNJZc - bbCkcEO9rQwadRVOWkkLunpDQUbOFcQlp4DJgl+HG7DWXYl3PdWCXKyfWcaC9+HuWHCyxlKQixBMd5Qb - F1zKzMLFhEQwWbBBR/KWClefVlCuCq5TMZPXWbAV5IxZB0vM+x8Xgpm9BKmXMxAZGwcmC/jMlztLsdpV - LrjercRKZxnWSKBVlwjBpv8xaOxlmPM7urOD9hLjgsS0NIRGRYPJgjX6tytUrH1STJIyLD4qFLOeLFj3 - tceMnSk0Xod1Oyg1LuDzDw6PEPcgdkAXuvBzHrSPi7DYkS+49LBglyxY9bTD1KF9mHGXC8GL1nzjguj4 - BASGKMAUO/hFSUX5mHuQQ4I8kuWKeb79CrQ6wRIVj1mb4KWLjU6QZ1wQEROLcxeCwGTBSmc5ZtuyME+C - ufvZWGjPMZhZME+v6JCVCcZPWKNeLsPo7UzjAkVkFPz8A8BkwRKd9ey9n/D6TrqgpvUy5toy8eZuhphZ - oKFXdPK4FQYdLVFHgvHmLOOCoLBweJ/9EUwW8LnPNKdCQ4Lp2ymC+pnJgp4fLNH4vQUeHDGHSm6GoVtp - xgV8/p6+fuIeWPCmLVsUv2xMEnzVlCyKpxoSBVupuNH+IJ7nBkFFsupDZhhu2EPgT+d/6ow3mEJwLxuT - NxMw3ZiM8euxglO3EgUn6uPQZGcOdbIvxuvjoU7xg4oEvapE44Kzgefh5ukFJgumW9IxeSOOymPwoj4W - Y3UXxTxaG71LFo+ooul5HAaqI9FbG29c4HfOH64ep8BkwQwJRmoiMUEC5jgJmCwbro4QQp6Zw8SBaxHo - q4mFm5U0r6s3FPjQBTu7uYPJgombSRhTRWGgMkxwhEo5g1XhYu5Xhu7OoyToqVDsLfCiCz7h4gqmENxI - QP9VBYaqwgQHlArBwcpQ9FWECPLaKEl2nofimTKKBf9+RKe9fXDMyRlMFoyoYtBbHoKuwgB0lwTtsPiC - YA+tPy0MFLM+6oIAdJaGw/WgtKirNxR4eHlDHxb0VkbhUVEwHhcp0FEQDHVJmCDPDwtD8KQ4VJDXmR2U - uznn4WQpaXX14vMNx+Q70wHKJ8rvHNmB/X/TF7eOWUjvHc2lD/81DjLp41GZNEydNpRvWWBNsaU4UFwo - J/+HuFIcJUmy+QdCMju4m8uS2QAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzNzQ2OTA5NEQyNzExRTRBQzE5ODE3QUREMDMz - RkNEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzNzQ2OTA4NEQyNzExRTRBQzE5ODE3QUREMDMz - RkNEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjY4MkNFODIyNjRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7LYcOsAAACTUlEQVRIS5XW3UtTYRwHcP+EoKtuouiii2gXlcRKykHd9KJp - YXhMe9PK2nqFBhG+gTkxX1rjtGah0UVddBEUiPRKJDIsyaY5dNWGbm2uZBgiZvXteR56Hs6Op/N0Lj6w - 33me8/0+nIudkwPA1NLla1UCEkmilliivz9r0CM3KFUuNxZ+wVQi9RX1nmu0qIFYps3ICtSjBZVON+YX - fpsKdN9HTWM7PO1+WtJMrOAZi0IpsmH9X8pR50XM/fhp6mbXPRqsums9aPXdYiU8yyhczd9RApnV6/KR - t70YsXgKwcEQWrydzPvRcVoQ5nlGBZiZnTc19W0Gj3tfYqOjgIlE41nrNIPnGRZMf58zFUukscqWh4c9 - z7F5WxE2bNmJkfGoWJcWpDOzpj5NpmhIZuWaTXjw6Alyt+6CN3BXrEsLkuQRmImnM3j2eoDpfzuMiuMX - 0OG/I9alBZNTGcZut8NmszH0N7+uV37sPNrUbjFLC6Jfpi0pqzqHq74uMUsLIhNphp/+X/g+pfIsmr23 - xSwtCEeTlpQeOYOmjk4xSwuGPyYYo1Nr8X37D59GY1tAzNKCd2MTlpQccqGh1S9macGb0RhjdGotvm/f - QRfqWm6IWVoQDH22ZG+FEzUeVczSgr6hCGN0ai2+r7j8FC43+cQsLXg1OGZJ0YGTuHTlupilBS8GwozR - qbX4vj1l1eTv24FcRyFDMlSeZ1jwNPjBkkKlmoYqBHtRafOywila0Ns/YkmBcoIV6LOoRRdoQU9fyJLd - pdYK/uczRU8882zI+QPBTkk4sL23wAAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z - Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 - 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT - O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 - mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA - mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI - lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j - CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 - +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug - QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb - dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf - 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 - ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 - mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y - tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA - AElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE2Q0VGMDE2NDlEQTExRTQ4NTlCQTI3NTMyOEY5 - NEU2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE2Q0VGMDE1NDlEQTExRTQ4NTlCQTI3NTMyOEY5 - NEU2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjA1MjM3NzFEOTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6UH16BAAABrElEQVRIS63N70tTURzH8fsnKSGCCEIQCBKISMq2iILCgQOL - JUxQAoVKdMGQuwgWFepsMGjFZCMuorsIJV4WFatpvzdr1ZAFsaIHn8559v1eDsI91wevJ/ee7/tjbMRH - fAFwJOWRF6oopTzyQhWlVEdBwRbgUhICAnuvilKGtXDGzW6WV/CvbjE/xTfxr+R6q4xSxtP5YTf8rVn4 - s5dG+809Rv5zvVVGKaNwfYgyBfhksoH83CCF9seiL7LBBnLXTlP4/W4dza0ZLS0nCdlgA9npAQq/qk/Q - sKa0NJ8nIBtsIBPrp9CqPMJBYVLLj+04ZIMNrF49ReHwVRafH1/R8m3zJmSDDdy/fJJC88Ua3mcjWurW - LGSDDaQifRS+O8uopsNaPhVnIBts4E64l0Jj5y4qDy5q+ZCPQTbYgHmph8LXZ0m8TJ3Xsp+LQjbYQOJC - N4XadgLl22e1vM1OQDbYwK1zXRS+lBbhmEHsLgU8kTeVh+OQDTawEDpB2U4mitfpMS22GYJssIH5QCcV - FGwBmuRtkA3cGO3whcZUlEdeqKKU8sgLVZRSfjw+MP4DJ2GPpDR9OIsAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY5QzgyODdDNEFBNjExRTRBQjc4QTlDNkE4RTgy - QzFEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY5QzgyODdCNEFBNjExRTRBQjc4QTlDNkE4RTgy - QzFEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTkwNkVCNzZBNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5gwa99AAAE3ElEQVRIS63Re0xTZxgG8E+WbFMXGSI3K1AElAlRJgFUVNYI - qIAXLiIFKXcjq7IxHajRMYZDRASDAspNBStoy0QKCojcKQJHtAgqCEwnHuY2dCbG/bPk2XeIPdOFxsX4 - Js8ffb5z3l9PPvKuA+B/5c0RRsXT5P2byATa6tBMmTh/bSZbNlneHGFkgbydBZfyDhbETHKKth/RcMh7 - GGFkYVbVCA5euIfDij4QwaZztJ1K88HffzURTd59hBGnMioGkSi7g+SSbpDZG+W0nUbz3oAzqfTfJ5b0 - YX9hJwcoaPtWQBJLCmgYTUJ2kEJaT3J3wvCSRFk/EgrV2Jun4oCfaPtWgC5kBh+l4P5oBs0xiLeRHlpP - cnfm4ef2nbmNuBM9+Ca7jQMu0fZ1QEeTiedfTfB2wtwa3IXrfeFQ3YqATxhR03ri7iYe4Mc8rCw+/xak - x7oRe7SZAhuUtJ324lmdiC4VTxJX7jWxlDBd/WFoU29GvSoI3sGkl3uP5r9AqDw2h0HUkQ7EpDdwQDVt - p718fjVYmb20XZ72GasJ/a2i8BZ6PiXgS8K09wahqccfNW0SrA3SCkjKpVldEB9oQ8TBegqsv7JggfAT - DriQasO+fLYZmsgOzB8be1QR7u/7xYf+2wjTcjMUtZ1uUDb5Y7VYG2AmqQhNUyEgqQnipBoQk/V1PPDj - PPbFbyI87LTG+OgyFO2z/HVk8Hy060r7j322EuZqlycuq9xxsd4D7pu1AiGVoamtWLf3GgK/q+aAqxrg - fLI1+3xsCYZbLcEOOSJv99wJYImz7dQN0YSpux6MimYnlNf5YFWAVmBLte/+BnjuugLvnZcosK6BB763 - ZP8cdcRAvQUeDzggb5eQB7wjCXOpeSkU15whUzpC5K8dqPHdUwuRtBJeXys4oFkDlO2zYJ8+XIz+KnM8 - umOPk3FmPLA2nDAVjW6Q1cxDcaUjVvppA0yD69bGVWHF1nK4xZSCGHu38MAeITs+shBqhSl+6bPDyVhT - HlgdRpjS2kUoqpyPfIUdlvtqBYKuuUkvYkloKVZElHBAuwYojTdjf7+/AMzZ2XigtsEJqYAH3CSEOaW0 - Ra7cGlkyKyzbqBUQN7pGXcCigGK4SIoo4NWhAc7tnMM+uWuNjgIjjNywRG6MCQ+IQgiTp7BFerExMk/b - wXmDdqDFKaQUC/2KYB+QT+/Aq5MHvprNjvXNRetxAwx1CZEbbcwDrsGEyThritQiUyTnCuC0TisQ2LY4 - sBjWnifwuV8O/QLPbg0g227MPlaboTFdHwOqOciJMOSB5WLCpJ02QWKOHpKyzeHgpQ2YE6iy31QES/dM - 2HgeATFa08MDMUbsaI8Al5P00NdoguMSAx5YFkiYlHwBdqfPQsJhfdivIbfptjcAXRoBEfjdnOeZRYFD - sHJLAjFYdXfGjOlWvTdOS89EGzwZbDOCut4QndUGyAic+UdTfda3urrTLZz9iXp35qeIS9HF9sSZsFtF - Bug+Mxp9bjk3c2kciKGHkhi6D5JZomFi4DpM9F1qaL+0pip9b8E2y94s8czx9E1644f89J5mhlnclZf9 - kEzPnW09iJLmvo2IjMxfSX62diG1tHd6tZcf7pO4L5lFY/ha9Ibula15MCSP6leXxPR0Fu7QpLsjz4ee - z6CZ9D1CiM4/X3QnEat9eLkAAAAASUVORK5CYII= - - - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -2026,9 +1024,43 @@ M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= - + - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv @@ -2038,29 +1070,132 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC + RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo + KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O + 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd + rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o + 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C + s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI + jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs + FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm + LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml + CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV + hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q + bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX + YCSg/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC 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 @@ -2072,318 +1207,34 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z - Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 - 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT - O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 - mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA - mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI - lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j - CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 - +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug - QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb - dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf - 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 - ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 - mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y - tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA - AElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGOUFCQzZDNEE5RjExRTRCOUJBREM4MzEzMUQ1 - NzQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGOUFCQzZCNEE5RjExRTRCOUJBREM4MzEzMUQ1 - NzQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODlBOTk3NTY5QzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6aIUJsAAAE0klEQVRIS6WVbVBUVRjH79297/fu3l2EFRCCdBit6YOROU2p - yALioLwkmRiWKCDx5oLyKqy4IwoEgyAYRC4gb/mGmIKBFi8mIBLql2iChnJyhtQPzTh9CKE9PWdDBCOk - 4T/zm+ec5zznv+funmcvcbfUZkG8UAPFNguF6S+yOfBdkc0IjJ/A+M71PG0oWFMASdw6pl0IQl+h9upI - 22voToU9ulmofQg5y9BFN9SZqymAD2CI3gLtvOn+RLu9J1/bdypR7diQrJZg/PVwy6uoI0fTEruJXw2G - TpnbxLXwBEM/nF+KmjLkcOLbPM286MrR7IQ40ZWruW8MEZbDvOPHS6+gVpNczdKkE5jrADUglH4sre4v - 06H2o5rviY4j8gv55rC8G+JEe7b8a9Z2Qd9mkrsHLyxHzUZ15aS5LcADCoAElFD7OzBOXDXJc9KaJYdD - /KvtkHwvK0TQNxvl3rsNrqgxbYY5N2lsVYtRdoM9lisH5RGYqP+Ty5nqSIiW5kz1L+nBvL4pXd03UOOC - TiepTjIUMWVev0+lgzrlP+ZqBp6s43bDMlQZL5mIi2mqWWlKVUVBtED8OTmI159NUt26edIZ1SVIFZPm - i7D5hVTVZqj7E9aNYZ6s2JSmauyvWYpO75cuayXShTibJP2LM/ulWIgWiCOJ/py+PkHqv1HmhMyx4qdg - uuSpOZgEQd3YmSTpkSmE1zckSpd6Kl1RrUFq0skKF6ixJeoN0gzq9krxEC0Qf4r34zyr46SBjuIlqGyP - eGK6ee1eaQvUjdUZpIfJgfzGyhixtavUGZljxAtakXwJauwAnqiKEaeojBYNEC3maHE4bD379udR4sDV - Agd0fJdQMs2chfX3oG4MTB/s9eN8yiPFa9fyHVBZpNComW6Ob1XFHsHKZ5GCAaKlPEIYClxFv56/g8+5 - VuCIisL4KiicMi+PFLZC3ROofxDry/qU7BbavzpqD4fgz2kEq/n0K0sQpbt4zEpgvCSMHw1aRa+CtH3x - Tr7LHKdGAW/Qb8Icn4g7Hsa/P1n3W5QX41P4Id/x5SEdyg/lTsuzmWMd28ERhaFc3blMHUrZzEZCygFQ - 5W/nyi4dtkfGIDbL3VW5uOADLh5qJ6B2NHw945MXwnU2ZtihnG3cFwJDOsOep/3wzBwLCjGPcrdxD3nG - egotQMV4MzrI3TufoUOwbrl4xBHB/P5Ha+gN2Vu5zrOpdsgUzNXTymf9AMw0x8oOZjHjpnfZuzB1BAQA - d6UiwoN2MwawDbA2mOHPngl0p9ZkBbE3GvbboswAtvY586lOnqGsQIY4GMAMAo+X6RQvQ4rDOQwId6cI - 2K5wULhm+DPdtQmLUKofU0XNxxzrwCaaSNlIJ1XH2qAEH7ocUhJA4jwGpAh9i7JN96OvnwLzfRto87zN - scCc0K9Q8km+dA+MLQYvugTm+F1IwpyEvC/E4ZoUO2Twpiv+lznWPm/8ZiPIYHelo0FP9ZrhSSD3R6IX - dRviaFGEjOeW6HXUCUphNbd2Mt4zuXduGTwpKyCFm46UI96h0uI8qEHIjQOPY9ZRV4JXKrfA+tTfBEBO - 2ze34jyUU4DwNcMG+KouBvCtwn2BGw2/rfAvTz63Z25Fr1XOAIS/V3w0FsBdiT8QG+NFcpb6OUQQfwME - xz0xnqHypQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 - 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f - 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 - uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 - SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD - bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 - 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG - TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX - 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj - p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY - RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB - lh7gOXXZq9sAAAAASUVORK5CYII= - - - - - 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 - TkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ - mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ - Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX - E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 - i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ - CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw - PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT - tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p - uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V - tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN - pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG - Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFQzJGRUI2NEFFMDExRTRCNEQwQzlGQjVEQTAz - Mjk2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFQzJGRUI1NEFFMDExRTRCNEQwQzlGQjVEQTAz - Mjk2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUU3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz71LrnbAAACUElEQVRIS7WTTUgUYRjHh4g+oWyXiF1dESq0XLsUISR9bSQG - C1FGpSIdyktQVIfq4AYd6qBBhzq01xChrEuBCoIf1VoqbOAHae6mSbtWW22Zpm3w73l2BpoZHp2doj/8 - mGHe5/k9zDvzKgD+K4ozt+ifkKR6xCY7SFI9YpMdLCM12cEyUtMCLCWW6Z9ZRl+8ABXEE9eGrXBv3Aa6 - 7yaqec0yXGRBvc9/HF3dfZiZS+HHz18I9YRRdqiaB93UNPPHJDNzcFfZESS+TGF6NmUgOTWjDfFWaio5 - glRP66PWDiS/z4q0dT3nASHSLFJtQgSpnk+R8TgSyWmRycRX3qYUaZarNiEmoZnkyFgMscS3eaEaOk2K - U7UJMQnNvA8PRTAe/ywyMhbnLZojjVu1CRGkepqCd5vweuKDSMPDZqzJLnhJmhzVJkSQ6vHt2F+O/tF3 - GIzGDfSPxuDzV2KlI/s6aVyqTYggNeDwFAYrTp5Hz0AU4eGJNL2Db3Di9CWsXre+nRR7WJOWSZGkhIu4 - SkSIqNPjfVu4fR9Ona1FzbkAthSXwpGz+SMNn+Q1h8d7g+ryNKUxtCBx68zla3jQ8iwjLgTq+G+6rSmN - MYmZizsPHEN77yt09A1nBNfu9VfxH1Wraf/EJC/J3VSMxsedaHsxZIt7zU/BvbRduzW1GtOAhkDdHbSE - Bv6KK/VB0De5r6nVmAaU0Gs20jV9Qu2S5c7vXLU27yhpl6h2Ci0YoKwg8olS4jBRniFcyz0FBDvUCAMW - E1kEHx4+oXbgHu5lB0VRfgP1p66ckfD+bgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBQzA3NjM1NEFEMDExRTRCRDJCQTRBMTUzMERD - QUEwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBQzA3NjM0NEFEMDExRTRCRDJCQTRBMTUzMERD - QUEwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjRGOUQzNUFDRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7wDFMsAAADRElEQVRIS7WVbUyNYRjH2/iSD2behrAK1SJxTpF3hSZSmbxE - qZYT6SjJvL+sMZIZRqGat0hRmyxLXmq1VUoZHbVSspqQKWPGvMzfdT11Hs+5uz/4wIffdt//63/9r/M8 - z/08xwrAf0Uqyhg02kVPpBOviARimMwnIhVFKMzaxsENlzJz0dbegcTjZ0BaiswrIhVFKCwydlsCvv34 - peLtH8xDpsn8WqSiCAWFRcXtxtfvP1U8F63gAXqZX4tUFKGgPkPtXJGcdgUV1bXYsuvgv71FDAWe8PD0 - R8z2BDjp5vKABJlPRCqKUJij22xfdHR+RNenL2hubYfNODceYi3za5GKIhS0MtgQh3cfPqsMH6vjATEy - vxapKEJBq0PWx+P1+08qZdUmLOg+SWmETtbHSEURCtgeErkFbR0fLGh924WT5zJgN2E6D9ov6+0liFBj - kn7WYpTV1KOlvVMlICgSJZW1yrra1IygiFgecovw0fZbhImQOWV5qBFPG1sVnre9U6Eaho3RIX5volo7 - fy1PGaLNsAjUQsbAZSEbUd/yBidTryLCuFNZm+EBxEAiydl9Hk6lZ6HiSSOG2k1iva85p1ewGTL5LVll - wKLAcG64GrBmA2qbXqmQpgzo8c4hsuxdZrB2QJtjESpCZj8i1EnniQvZt1H0sBaPG9oUNu1Q3uZkwT9Y - u2csNiLU4DF8rB4ZuYWoevYSR5Mvw8NrKdbF7kGlqQW+Kw085LCs14xUZKjRmrh08Hg6yp++QGlNI2Z4 - B3LgbOLO6Qs5uFdugut0H9Y2yzIYqchQ06nwTbtR+rhJYdlaIwed6Kn5O7vPx/2HdcjKL8Eop6lc8xUz - mF4CQ+ZDXn7BeFBVj+LqBsTsSuQAi68n7Y8Z4vYp9WOpmcqRJS1C62EsNgyZjOOnLEBe0SPcr6xHIt33 - Ibau3Dxa8A3gI3kx567iS72WD0c6DKRbvNHqgqFi/5GOU3D+RiEKK+qQnl0AGwd3blqo9Wn80ROmeiPj - ZrHiv36nHCO6v7L9zB6xwbjKEI+CMhOyC8rg0P2LorQeEapvtZ84C2cz8xG94xD7j2jrotnOSe+FwLBY - TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL + SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 + 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P + zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 + 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj + L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 + RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf + nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P + 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj + ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G + xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H + dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 + LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob + gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 + ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi + UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd + XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 + 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN + jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF + Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn + ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A + AAAASUVORK5CYII= @@ -3158,6 +2009,1155 @@ AElFTkSuQmCC + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZCNzIxMDY4NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 + QTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZCNzIxMDY3NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 + QTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6N9zpwAAAB70lEQVRIS7WTTShEURTHZyIfk0zRlPKxs7SwsZWFvSQbC0lW + CsNuMMjK9+4tWKAksbCxsWIjipIis3gWhpSPhZTkq+Oc+8697ntz53mFf/3mzDvn3P9/5r2ZEAD8K8bm + X2Js/iXOi4+2qqIWAsgpV4tHvgocsFlZDA8byyDq+pKoPPJV4IC18iK4XV0AUVfmReWRr1wBi2URC4Fs + 3MzPcZ3NmHlQt88VYMUKID0zBunpUUhPJh3oWvamRkDsTCQh1deJPeoj2Kee3KUd9ncHTJfkgT3YC/ZQ + H9jJ/m8SPWAPx8V7sYP1pL3Z6cldek9nEdphf3fAeDTXQiAbB02Nop7FuzJmOoni3GX2/5ZI8VGiKAd2 + G+qA6nFHq6g8CqafAgYiYQuBeCScotpdGBafsrSqxkJAw/z/+Ckgm8j0/RMUdM0jt34T8PL2oeCAfGeq + iQKy4ScyfHp+VXBAzJlqMhlLdKGB957D/eOzwjtDnGdiMpbookPXd4+BoX1x0GQs0UUH7Kv7wHBAvtFY + oosOnF7cBIYDYkZjiS48kPEMjs4vFd5ZtKx6G49VGI0lBtGvpB5pIZO9E1tB19hvoxlDe8G/AYt+5xRS + QYY7hykFB9TSjKG94M/AKzLc3j9TcAAZu2UylvgJDV3PRN1zl0KhL06k1hGgG+rkAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBCREI4OERDNEFENjExRTRBMDIyRjhCMTI2OTg1 + QzRCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBCREI4OERCNEFENjExRTRBMDIyRjhCMTI2OTg1 + QzRCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjY3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5EAI7UAAAEwElEQVRIS6WVf0yUdRzHv/f7nueeu+cO4UQEIdnNarXUyLUa + IqdOJggklBBuYoDGLw8UFJWTmBYYDEFQiARJgakJOAQHVF5UgIgobYkFRDFdNPgjx3LFr/v2+VzHI9gP + 2fhsr32ez4/n/eX78Pnel/QUOSyIp1p3gcNCkXflOxy6le8wCM8T8Hznq+O6CJCWAiJy84RuIbCdebqW + weYX6J1SZ3ojTzcCOWvfFQP9MlubCwvISUeubt60fagLb8/RdX6SrHGpTtVw8Px5f+Pz1JKlbYz3Z9aA + oGv6NpU37KDv3uXltO4wH0W+Pq6dF61Z2h3gp1qztQ/MYewKiC0/1D9HmzL5CoVM5AriekADsEXvcmu6 + ivX0+gfau8TyPv9UvjjKvwN+6vox/n5GOGtszuTbemtX0Aazptwu7ggwgBgQARLo/Q2YJC2Z/P/SlMFH + gZ9ufo8fyghjjQ1mvqOn2oPWpM0RV9qFbdZo5g3wjvXaEX4QAs1/cjVdEwPe2pCu+flgCGOsO6jp7D7n + Ti+kqM/IpUQQr9qr1kOf5G9xjRx2Zrld7UnLE7lMciVN/a/UHVDvBm8F/1NqMGO8lKK+eeOMG61M4krt + 4otQvPaAOgD6/oS6OdJXoapLU9d0nVtOL+zjruo4kTu5lML9g4v7uHjwVvCDyVuUxqokruubYldaFq86 + DaJLZ8RBJBj6xi+mcKOZYYyxOpmrby/3oOdNXJ2eF7tDjyOpMnFzqNzDJYK3gh9I3Kz0rUjgui0FS2nx + LtWp2eLn93BboW+80sSNpAYxfuVxqqbWIjdaFqeq1alEy6DHCWDI2TiVQHmsygTeWhar6o9cp3jt492q + 7pbcJfTkTrZwlrgC6qEB3u7Ti5a9SGcI8zfQ4hi2RjtbHKeqdBdr46MY1gTeWhLN9gV5yVblbGeyPst1 + ofmRzFloFMRLYtg3oW8CRSenqQDGWtYmPntkCSnaySArgcnCSGY42EvmBWnngh1Ma1mChga+LHsFYvyL + lCcjmbfsfb+i4B8TUwIYQ48L8Fgc7cR2JcmLUFZ+mq6n+wMUMZBaAqhzwpXF9UedqTlYkbHaQ7I4921l + IvROQe9w1Dr5RhQcezQuYF8Ap+uxONrxMCUymr1NOcLIbVvUAdK4DXI95IYuH9ZTqFtD/QzC955h9OEj + gSdrAE4cIcdCFMhk5huKHghxiyyAp1Ic7SMzmAMV1VDrxZcejDycN9gPGoRkBMnJkUB5LzDmqRc/Aykl + 5hAwPJ0qwBFfGLg/Om/sCyjIIX8Z2e8nS6mId6BJG2UlkOQAEebtJo54VWpb4Lsff5k39gWcUJwYn5Uw + KZtk7fBsNa2XFUKMd6EIYhHkN4HvDzR6znxbgVv3hgSerPHOhmbQcCV7N+DNRkQhqyUuJqO0owx2Arnf + k9dLb4Mfzo/mMbbGrpWeEovIS9C7BQhHkbZvBwQwhjxelaF2fAAnYvKV2gATG/QiPvp1aVqCj7QXcpPA + WNxa6bWQlZKtUMfDhiOMo+iGgpau7wXsC6yy1xE8OwqS4CMRAMMZxt92HNXFAE4VimIz3lb4n7f97qNg + c8ddAfsCKDzXYr0lcwBDAdySAsBTiQuiMBaFSwUET6PoDMI3n2OE/AXV7wtcYQSjewAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk0MDA4MTVGNEFENjExRTRCNjgzRThBMjlFMzdD + NDk4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk0MDA4MTVFNEFENjExRTRCNjgzRThBMjlFMzdD + NDk4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjk3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7U3Gz1AAADLUlEQVRIS7WTa0gUURzFV4mKMqVC0XytgabkmiauZOKDwlQk + wswiycAPGoVSFmRFJC0tQX5Ii4VAc9V87KqhGdima33wQSZWoilqaa1u66qwGSKleZo7OzOM4/gI6sDv + Mvfe//8cZu5cCYD/ivgiT889HFQUYFAxy5zE+vnQw8Lc6xWpc7fHVE0ZprRqkGexGoLQmIUexBpYNK7b + YC57BHNlIcizWA1BaMxCD2INLGWudvj2+AFGFDkoddn67wJayo9W1OT5j2py96A+Lxh1dwOhveULar1S + rF5ozEIPwuLmkriapqKQyZmJ04tzllNgoebQq0OnmtWxNcIeoTELPfAL9er4quaikKnZ6ROUYRLaNRFo + vB+MztpDmDGfBFnXF4dONxfHafh9QmMWeuAXahXeXy3jx/FjIhHlV71QnhmEzpyz0Ocepuffxw/A/Dke + WoWPgfpLbf82wLbq5m7jjCkBfU1RaMwNR3tqErpSE9ESLYfuRjjeP5PDNLwfpC72SOgm621YRcKAyhxP + o8UQg6aCvSg8E4CLW2yQzVCaHoCOUjmM/f4gdZERgZsZm5W1LOCym3F6JAJ9tb7QKaNg0qitF626DE3K + aAzpwmHokSEh0md2p4cMPJbdclqCAInminRwVCdfNPZIUZHhguoML7TlJ0N3OwJ1l6SYGJDjXaXvIjGd + /w0OMmcsl0oYoM+PKa664GIabtgFQ7cnPhbI8OaODP0PA2Hs3YeBlzJUnHc2EcO5XwscTMDyMxEGEBqV + B7VPMpwMrVnO84MNfhh64YeBel+0XvcBtT7WoAh7SgxnZn9yMAGOVleexAIILflx9zRZ0u6SlB3QpLvj + WJgP+605Ji2zHMI9CuuZrBRAoGSj3L4Rvdnn6KYxs2XdkPr1BEhy7TegNzONbhg2TK4bJmDTmgHX7GzR + nZZMN/R+Mq4bJsCRDhDCF3XBVOSShTm50k18uvq/cAj3HJy9dVS725oBApG/JJIiiZi0fRjmIHNqPYXs + MZC6td9AIPKfkxA3Yvjq7QAHExBE9hhInfUMVmI1EUNdRx8HE0CMl0rMmGU1UYYqYsrCffMlkkj+AEZF + 7H7+T6nEAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU3QTU3RDNFNEFBOTExRTRBQ0FFQkQxRTZFOTNF + OTIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU3QTU3RDNENEFBOTExRTRBQ0FFQkQxRTZFOTNF + OTIzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUI3Qjg1NTlBNzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz70M76IAAAENElEQVRIS52SDUxVZRjHD/SBcFOZSgoqKWQQBhjyofdaQQp3 + E+d0Ko4xW8221kLKRC4QRUCJERKklAXEx4UNYYDJh7guAy4IXTTSGyhfFxQklitNZzmD+ve87+WcLnBc + jHf77T3v857n9z/nvEcAMCfG/zYjt2eJbHE2yAUsdvbcSzSxWaxJN84GanyUOMBmsWYhj/d9IRT6tgvw + DAgGrQ/xgAfj/8waJj+ccARPrvZmgkBWk+QvhuLayBiohl7TdTFkt3D/rwnpKf4PamhppicsO10nhgQR + 7zH54PAoyCWha25j+w3CvfvjsjI5WEBj6wVQD05VmUPYZxm4NsprIj0D1+G9UW1+gzt/PJCVycECGvQG + UA+nqlaH3sERac3o7huC14YQJo9hPcKtu3/KysRR47xwP3GRuFPpbD9R4+aIxhAlruZ9DeqdgvHqAMn5 + t+dy7rl5+94MOd+gcXrlgmPVnqtw6bOjMGnzMKTNgakoB5cyP0GNtws64qNB/ZzOrj7xYA9P8fz8690p + YpHy5fPfqiL5YOFXMGaloWbzBlSsWYaaQH8YM9MwlH8SVV4u+OF4FsiBkoo6LHP1YQFqS48w/MvtKWKR + YkdFV0dqMrqz0qF1VPyevdQuedVK947yg2+j1G05DImxMHyciErVOpCDU1RWLYaEih5hcPS3GXJG3lK7 + CVNmKip3bkWWg20m+2TU2FJZ1wRdvAYlgQEwxkXhG8cnQA6JorJaOJpDbJhH6Bu+yRrnEzGESeSEwzz0 + pb6PXC9X+DmtHpusR7v5BGLHcz4oUK7D5cjXkE33sb/GkhXP+LEABQ+4MjjGAmIOaFKga+2UyHBQ4MeE + Q/hiow/yI8J5TRW8izX6Ji9WFGq3q2F45w2kL7IZp5rLNLicBxj7b/A3WPKUFz7KoAPtv8HJ3aaGdvd2 + nN21FUeW2KJ4/6uIWB+A6EWKiqNO9mg/+Cbyt4Xgw4WP6fgvR0OUWiJ09gzzCwrxYiFJn34JqqEutwCJ + 9o/jZJAS1XQOn7+kRNrzHjgeqETD6/tQHhGGD2g/UvFI+KR/hpwhdHQNSQsKiV3rH4zWzl5QHcWaOCQ9 + 7YwEd1eU7t2Bij07+Zyu8keMwnok0s46hbxWZv1DAtoum/gFk3v4bcG3uu9BNYn6qnpkv7IPcSscELXA + BlF21rciba0KI+ZZqSa90pguZwj6zn4mj2PyinPtoLXEd+1dU9ab1GHskDdN+mYM2QBqCGfy8vrzaLzY + I1Fe34q1/lugScmUair1njkF6E8UVEJnuCJRWqsHC6W9WHbw0UkZvK4KMQfIiR4GfwO39UEoPtOEc+3d + KDnTDHffzVzObqDZg4W8m3gMyrkEnD3/E5PEuPkEISPnFMlfZhINq4vQ+lkW4rTGl+0pLPfkpJYItS1G + DjWGEY1sFmuWUN2KyafX5aT/AeFfWm9WHAbkArwAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdFNUQ0ODMzNEQyQTExRTRBNUQ4RTJGMDI1MThC + RTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdFNUQ0ODMyNEQyQTExRTRBNUQ4RTJGMDI1MThC + RTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzJGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz41vT1rAAAEBklEQVRIS7WUbUxTZxTHS2/fb6G1VWjrwltfgGGRdgaxbkLV + FawgoKJuyMDotjCrw4ERHC/CQBjWDRQLSHnfmBnBmkBi/LCY+GEO/TBGtiwxYW775odly5aYLC7573ku + LbasJWGJJ/nl5J7n3N957nNvywPwQnnxEW7qaqjjzSSFXwtH2GIkqNx5hQXNZG+CcD0rCVsMJrBjmh1u + Gc7eMnA5MCSwHomwxQD0Znu7lJPR7LqRBN+iA+XjG0PqgWHhHP8pBKA3vdooxZvD8Vw+PpqAke9zUXNX + j/P3LDg4oOXqZf71SENCLgLQ5qxaCYqvbcSF+9loq0/ClF0Dn0kJn1HB5UnbBrTXJaHlm21wXIrl+v1D + hMGuEDGFNmWeFCPPrcX7d7eg7YgaM+ZEzH/aicWJITyeGMTi+CDmuz/G7OZkbv3wZBrsF+Ow5czSB5B+ + TFSqSmUkZFhUiJjbeb0KBUN6VN6xwHVCBR+R/zQ2gIWeLszuysa0UYPZ3CwsdHfh8Ug/fBnJcB1fh73D + JuQPGJHfr+c8lESn0LIsNrwh/H3rBQ3239yEoi9TYfmERY+ZxYOOVvzQ44Y3kcXbpSy2d8jxTrkc3iQW + c811mGtv5vqs3Sws7hjsuJyEHW4DXqmL47y8hGLBaUutGrv7DCgcT4PzuomjYMQEr1aGxe4O3CxxovZA + LIo+S1nmXJkGn+duxUL9aXg1MhSOkfu8Jjh6jcjp1MNcpYZuFzPI0+Yxpdo9zLw2n/mF8JtuD/NU52RA + 6d0gwaOORngz9LDliJBQIoL+kATGI1I4d0oxasvEd65juEb60ipYpL7FIqWchYmQWhkN5Wa+i7wHnoCg + JhgI6QQzIYOQ6VaJn33bUAPPNivOqUS3RKqoHKkuKl8WH1V4dr1oZmJfHuaq3wXp+0du4h8NEJ3Cr4jZ + xH9PwPKsxEPeNI8nIrCEGILCj7JFKbwzcXAfbh9wok0pfNasEA7XxQirmxRCb6dOiftnqjBS4ECDQniP + 9McGEedHzZvvVUWkKZrZ26wUod9uwwx5D1dybOiyvIyruTZ8daIcU2WH0ETWq1imjMiYFdCTYajIQ0Ak + viBfTutLAjSk6nHjcDGmS0u47N6ehQ/XM3+5ZPyPiIieQvj4+pISf/9ZtCq/PtyJqZPJaEqQ4LxOhMZ4 + CUYr4jF9Sk5/ufwlU4S43RzjIWCtPH3iDL72+HVcBP8z8Car5bRGdyEmyFaD9OLJQ+tzHljxxyM7aJ2s + Lz9JyICrldK14CEQeTbHz7PpoNeXj0qHiFe4pF8xoHW/eE20lIj7SMaP40bQXF8oHiNOegzhn6DmdcGa + +WC3oI9knLILhokvRE4jZEDVa8z/ggSV0mMJkdN4PgC8fwGKe+JSzfQhQQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg4REU0NDQxNEFBOTExRTRBNzQ5RTJDOENEOTZB + MEM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg4REU0NDQwNEFBOTExRTRBNzQ5RTJDOENEOTZB + MEM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUQ3Qjg1NTlBNzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz55z27YAAADl0lEQVRIS+2Ve0xTZxjGTwgt0EN7WrFqh9MFrdVyE3VMuyVj + WTITRTcz5/6YZHEar0A0JBMBRToMl1QEBURsRSheJhFwVC0yjAtEqJe0IhdtLB0a8TbjNMYtYe7Z+zEx + R9egyzT7xzf55fu+93ne50vO6YWzjRP+EwCGxefQv8FXqBhfQ0uJc8R94sGT1UksJ/7h9xUqhqt/WyFm + a0PkO3Bty4XHaoHXuhueqt1wFebBFh0G0gue8/sMFcPVhMqHWFNH4b2Vu9BRlA/bxzNxWDsGtrhYdBTm + w1tRhrqoMJAvUTTDvbCqNfwQnWdyjOgqMsGq4X8tGS0zpoUEhtI+hbS7jsxUOLZkMq1bNPMkZZiyjJYN + 8YenMAe1C+agSB1UKOozsvfFvYeODclgPrH2wirRju0dRB0Id85GmKMmoGC8+ib1vE8Zr7691zAVFxKX + gPme0YahmGB3BBJq04iAAWdGCkpnTUOWUlpJvbFDGFXSPdb5s+FYuwLMJ9ZeAs6f4I1Kid26cD6Ofz4H + 2UrJwGZBYkkXJEm0lue+pUTbulWoiP8EGwXJKfIrXhrHVhWOZAhhtV8Hd2UqpSj7yIAGeg/bPzQgP0aP + HXEGNC9LQM1Xi7CJdPOnsh9b8pQJ7SbVVQqQsHl7ljKGzq0tearE1nxVOu2Psh7TuJPZArYsloU3GYXT + 5rlBA5ka/z8zJk/AwS8/w+EvFgyupvdjsV7wu5vzrtR5bJPCXLNesYzmHjd/J9xrL9WgYCn/wYksoY3O + j4jfGjcLjcXLgw0smzuSJkdyfODU2lR5m6dpCnrqImCaKR34NsTvcaraH+mhEpTOG4nyBNm9+jT5gwMp + wRW7VvMr2y3jcMs5DT1HI1C3Qd5P2u+3zsfgjmsGaP+I9Vg2V53MozKR77Ym8w+99nD0NUbgZ3sEvCci + ccc5C1ebQtHfGoO+5kj0n4mFNYn/pSqJ73M3RuH6T+G4fioaV2xTcMMRi2vNUTSrRy+dr9j0YNlcyTdB + OFsWhl57NNyH9Og0C+jaq0LPvlG4/P2IQdw1IfDUa+jySLh/0MPdQMEt0+Em7dJ+FS6Rt7s6BJ0WARfL + FYSS5nVg2VzuogC4tk9Ex85JuFCshWsH22vJpEXXnknoqSSsOgrS4fJBHYWydTJBj7NKN+jpJC+bYbMs + y1n098qyufR4KV4n9EnjAgg18fwX5FXB+RHsEvbD8jp4U/93+foffXWA+wv9GwQ30fQQcwAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI2OTgxMUNFNEFBOTExRTRBQTEyRTc3RTczN0M4 + QkQzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI2OTgxMUNENEFBOTExRTRBQTEyRTc3RTczN0M4 + QkQzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUY3Qjg1NTlBNzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6CerVFAAAEkElEQVRIS6WVe1BUVRzHd7n37rK7LLtsLs/ltbsgb8RBQDTl + FaGW4SDWmI8sLAGRtRUBRUhUXhKPAkOReKwmsQIOEOboOsofKlDDI6UZCaH4wwbTcey/1Pl27oaEiV6r + 78xnzu+c8zvnM3PvzL289kDt/4Izcx36N3CmNUDL8jMphVdLbQ6Q0YLAn17nhDMt/hre1/6aX0ipvFwk + R0+RvIDUQgKf3eOCM81+at4pP/UkKVXnD8hws8MD5/JlJWRulrD7L4IzJ3zceQYfd7Og+xMZ7t0MwUib + Fl25f0vYnufBmUZvV16Dt6tZ0JFjjfujofhtZBF+MGrRvsd6RsL2zQVn6ua78I7PdzELWrOkuDsSjLs3 + vDE1HIyBr9xhzJTOSNjef/JSqfF0NgtO6a0wNRCEO4MLceuiL273B6GvwRUnP7aakbD9T3LU03m64kiV + 1sksMKRb4faVQPTVk0t1Vv39TW6Y7PHHlWMuaEx7VlKtdZquOFKudjQL6lIkmLwYgNOZMsQGMqFfpkou + 9VSrMH7OF5eqVKhNljwlqVA7sgN3DrvZmwVfbBVjotsXJ3RShHrQfgvcKKfabRKTqcwRox1euFDmhOok + 8Yyk1M2ePc6dAldbs6Byswhjp71Rl2yFUC3tQ9akMf60oup9senbQnv82OyJs4UOKN8kmvOdPDf5zsrJ + Y47SXad9rNHtIUenWoZOF9nvhKEzzrJtkb60omyjyNS53xbXGz3QkW+P4vWWLy+pVckfdPq7YbC8CGOG + OowbajHWVIvBimJ0BarR7mxdvsyLVhS/Y2lq22uLoVot2vbZ4WCikFtidJKmtpPLbzUexXBlCbqiw9Dq + YY+uiBAMV5RgvL4G7QFqtDhJ05Z6UoqDCUJTS4YS31dp0JJli7x4DskJB8n1vsJ83KgsRYNKgo61dihY + LUK5o6jE4CC515uXhd5DeSD1CGm3CNdSity3hCZjhi36ytU4qVci+80XSOrsxI/GKgrRtmYlDvlZYqBC + g8JEMV7zpcKOOIgqT0aEYjh7B9i+3SsEipQoZt6GxbR6zyrBtQv7VbhW4o4m3TxkxAnmllQrLR/fLNyH + 4wEaZIQI8E22A/SxzHdZK5iHBa9aoiF8AYa2bwHpI4/jL/ITRNgdxwxlxjEP2vS26CZn6re/Al0M86zk + U4Xwj4EcPY4sXohcDwHK1kuxLphK0kXTY/kawYRh9evo1X2EUoXw8Y4oun1nDD2aFkmfSVpKZadH072p + EbSRzC+T9cnjyQqQ+dOSQ3Kmy7B2Nc4mrMRBGwY5WgZ6Z7ohx535tchRjqs7k1H/Riz2KumfNoVRKanL + 6fMbQqm0LeFUFluvX0Rt/GAJXUAu7kuPosGybdksSa6UWpUnF6AmMhyd5D18tjwcJUE++DwiHKakjTC+ + uw65ZP89sUUSOSCbxmZ6tCbIZ63ZEdjvh5IgIbC/Xx4vRco83iWhHuZ4adD8djxaE9eYx9IlIdBLqEcf + WjH3N8ssJ6YZnzXOrp/sz7CJrJsFJJI4AT8mWcRv1In5U4T7hDtbRXxjtIAfT/ZV/w2e6k+0FURyr64p + kAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkExMzE0MEIyNEFDRTExRTQ5MjFBQ0MwRThGNTU3 + REFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkExMzE0MEIxNEFDRTExRTQ5MjFBQ0MwRThGNTU3 + REFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RERENjE4NDBDRDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7V3v1pAAABvklEQVRIS6WUMUtCURiGHSKhQSURRbJBIRcbgmjtD7TVL2hv + qCFoaW5oaPI3tERBS+BgEIRR0WCUUEgUgkESYYIhcXrfc++p6+0cPRdfeOD77jnf811vUCg+PTsSQoiB + aIeCoJN60Q4FYWh0Qz6KQBgouhpzcGkYovcttPDM1Zjjk2nftgubzTOX/l+FB15Ep9sbCTpctRP/go/O + 10i4C8KOHfEtGPQHtSKWnjmCNuHYETzsA0nwYrPVDgRnMLsCFumgSMYrJ0iYl19e3wPBGczmAOXGT6QQ + 9cabhLXqTbXqoft7cxUc6BC1p6aEtepNteqhm3KsnuBAh6g+NiSsVW+qVQ+d/YLr+2cJa9WbatVDZ7+g + Uq1LWKveVKseOvsFZzcPEtaqN9Wqh856Qeu4fCXKlzUreDeeKbShs16wt7G9K0qVOyvWtnZENJU7hM56 + QT6ZnRPrWHJQuhAn57daeMY7vDs+EV2FLuVYPdHIJdFkbj6Wzu/jp3+i//3mXiYzhU4kmT2FfBOqBRCR + Um9wUQsyBvhGHFwCy4D/a7zwGc94Jwk40x+dXIFwgG/FRfy+OnjGO//ljE4chMEJhX4AMnDyVRS80DQA + AAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM4QUEwRERENEFENDExRTRBQTE0RThCQzEyOEQy + OTc1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM4QUEwRERDNEFENDExRTRBQTE0RThCQzEyOEQy + OTc1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7dyRkqAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH + prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 + U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB + 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD + QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG + 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU + 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao + GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc + 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 + /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC + Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ + KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o + VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX + 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 + seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt + NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei + /A9dc78cqtG90gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg0OTgxM0U5NEFCMTExRTRCMjhEQzlDODM2NkRC + RDlGIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg0OTgxM0U4NEFCMTExRTRCMjhEQzlDODM2NkRC + RDlGIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REEyRTIzN0FCMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6v8JhMAAABX0lEQVRIS+2TvUoDQRSFJxCCUeIPYiFI3sA3EGsLEVsROzFV + YoiI+AOCmkrQblLqmMqfdL6BD5B+t0wVyBuIHO/dmXUncdiwZk2VgY+7e8+Zc3eWXfFenBsJALE4NyXB + FWrj3JQEV6iNbZYEUkAKe7VWCiHovT6h99akqjStwWvSXx615/lBV+5zz+zlHCIa0lyekQSYrmoENY5h + nq6S9r0UjaU8Ovd1dO5uiGt4RyV4tRK4T7AeeLzaAbzqvq6khx5+SK1Tz+g6r67124WcJOBfVOGfltHe + 2QTfX83nFFXWI8/5IfyzCtp72z8eHhDplMH67lakX85mGUngY2MdXE8KWWX6Nsaz1ucJl0sPhOPpTIgk + UM5nlNUb5JfHXrZuWkJUpoRYLK5KAimjvyQzAJ9fSBXOtAf8ywmCP5kuxjLAecxR4MyxnmDyilxMXtFQ + +k7wZzgkDuemJLhCIyC+AQJpG34j81bcAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGQUQzMUIxNEFCMTExRTQ4RjdGQUM0QTdFMThE + Qjc0IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGQUQzMUIwNEFCMTExRTQ4RjdGQUM0QTdFMThE + Qjc0IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REUyRTIzN0FCMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7HZq05AAACGUlEQVRIS7WS30tTYRzGp+Vym9vUVVuZ+w+Cuou8DLoLvFFL + yKQf1iQwBpqhbGLrp1l4sbfQMpZgPyiI6DII/wEZJhVdxFCMkv0HEk/v854OnPdwOp6x9YXPeZ69Z9/z + vL98AP4rjoO1xHGwlhgPS71PRoUEVP6OJQ8KCSpE/DPgXTKC8usFUCXq41u/URHs0QLetkeEBCblVwWU + X8wrP9keX7XMzCv6Ct4cCGNzcc7g+ROpj7F+f1J5vnP4wHboAS/bwvi1MAuq6dfuZpQfbEs4boMbDNEC + Fvc34efTPKikdHNM6VwiVOBsLDPzir6CZ/tC+PHoHqgSQX0YDxZ46PyzrdkLesB8PIiN/BSoEmHq3wDH + bXCDPVrA7N4A1h/kQLV5zr76FeT3NGLt1jioyt/JyEPOKj+UiFV/TWdiu1C6MQqluavKfx44idL1ETXm + tA1uMEQLmG7143s2DarymTQ+9XUqf3F381fb7Lygr+B2ix/fRi+DSpZ7TyjNNvtrc01z0QZ8GU6BKhHU + sUiDeU0dt8EN9mgBE5GdWB06D6rhz5m+NrdoPLwDK6l+UA1/BiuX+pQ/3Rqt/hZda6oXEiwdO4LihVMo + DvRi6fhRFM/2gONO2+AGQ7QA1nCoXkhAlvu78LHjsPLd0XD1t8ha6WAdPnQcAnUwUKcO2iyzqRKMh6Wu + BHxCglSjT/s4y97sBePhsezN2wPfH446+pStKAUKAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRBOEM2MzQ3NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 + RERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRBOEM2MzQ2NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 + RERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTMyRTIzN0FCMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6xBZbXAAACOUlEQVRIS9XT20uTcRgH8N+ch22ax7KDOilzGmVhBS2Qojbx + JjSjOyVBMBui1VqYXthBMIqgQF6LNVgidkKQcJJBIBQU3hgOpiR1Ixb4R8S35/fyvvbz7cES7aKLDy+/ + 5/B9djPh9/vXBcCq2CVDjKn9hgtVsUuGjTkQc2exaDnG1a24UBW7JP13B8qJl5SSbFnbsAOjRZlVbw6V + 4m3VAUwc3I0xz1ZQrV4eoK/sSwNE1sOk0qjpuFCVeF6QMRwPBbA0/BhLQ2HM9YQwUrIZp04cn6Ce7D94 + d6Za73/qaAa9w0Zdx4WqRHSb63X86gV80+5isb8Pr7x7oeU7+30+3zj1bsr3onYHie52DBZsQk+e4xjV + 5Z6OC1WJgS2OjzOXW/D+bA3mLjYjEWjEs33F6Cxzf42W5OPLrU7M3wgh4s5Bb25aqxDCRjtyT8eFqsS9 + 3NRzkfJC3M5JHXm6fydmGuswGzyPF0crMN3WhM9d7Yh4duB6dkofhSfRvNxZxoWqRG9WsnSYllPoq0X3 + FGOqzo94awMSl1rwpNKDrszkh0bfnF/GhapEd4bdSnu0azsmfV4MUXgw3T5I4U5mTseFqsQVl83KTu4H + 05N+tDlt4dNptjJLfwUuVCU6HDz5P+DqVlyoil2S/ukBCq8h38nL9WAPUKOCLJAj1h7H+outVgxTaCGZ + JyfV+mq4UJUMNbnIB1Kr1P6IC1WZg3YyShqM91/jQlXmoEYC5tJacKEqc/CaurQWXOgvED8BwmqyacXu + n/EAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ + mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ + Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX + E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 + i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ + CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw + PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT + tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p + uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V + tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN + pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG + Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE0Q0ZGNzdENEFDNzExRTQ4OENERTg3M0ExRkU4 + QTFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE0Q0ZGNzdDNEFDNzExRTQ4OENERTg3M0ExRkU4 + QTFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjAwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6Ak4wfAAADR0lEQVRIS7WUa1BMcRjGG2YYH3ww5NJVyG3GF9KN1U21KblN + yaV8cuvC0IyZInJNIboxZrvJFk1CtZvNlHTVTC1FKxuVRsgsbWyifHi85+xpt+yEY/TM/ObZ/3vefZ6Z + c+YcIwBjymhaSHhx/ifx2dXJR63RaMi9tcff6u92wzatrCLA4OO4GD2aPtaHZqMxym4VF6vXLl97NBUl + oUmSjMSje9Ct7kVi1G40FV6kWQpayrKguJ+Gp9IUNJeksjN2N2qXdpf+o3yYw15nsihymjaZ0w7PpajL + PQ1ZfBAiA1ag9XUHIretQn70ZuQf80NF6m7cPb1Ve47aSDN/SGICEBXkBGVHOw5vF+DOcX/ILgWDyaJI + E20yJ3/nJShNCYQ43B0xgbaI3GJD7oCs/auQESJAxj4XZIS5IDdCiKyDbsgIpTnNzgTa44D3InI75B8R + QhLrByaLIkcW+DosgCjUHaK9zqxnHvSCKIQCI320c45UmolCV+tnwdr94TBZFDmywHOZFf4nFDmyIGDD + /PDOl2XoVEqhyMtk/V94qbgHJ0fTWIr85Rmst474oXmMwc+1UMlusc6X/k9VUHdXQ+hmeYqL1ctv3bzo + tq5GtHTUoV4iYZ0vza9q8ExZSwUWcVysXpvWzokZ/FyHAXU5PhRcZ50vX1Wl6HlXDk9X8wQuVq+N3lbx + z9tr8eRFGSpycljnS4PiPhqay+DpYnaFizXSffXWr5mdMqB+gO8fJei6nsw6X/q6C/CpSwp3Z7N03dd0 + 6Iev0DJN3lKKmsYCSC9fYZ0vlfLbqJIXYbWTabZBgY+Hhfib6i7634vRlhDNOl++vLkG1eubcBOY5BkU + eLub51U25ENWnQnxiZOs80VakYaSymy4CkwKDQq83EwL+99dQ19nEhRHw1jnS29bAj60XoXLipkygwKh + q0lJcXU6cmXxSNy3HzeKL/AiR3oe4qI45BYn0Zs846FBgYfzrHKV8iLePjuHmkM70fnkLG/a5TFQ1p3C + SlvjR7oC0jhigpPjTJHAbnq943JjuYPNqDz+A412y6Y12S6dmk2ZU4iJTMF4YjIxi5hNmHGYc25BMPPh + zCEsCSsO5sxgTcwn5hJM3iTdLRobYPQTdTQPZQeGFN0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ3RTU5RTMxNEFDNzExRTRBRDBBQ0EwOEMyNjA2 + MTlDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ3RTU5RTMwNEFDNzExRTRBRDBBQ0EwOEMyNjA2 + MTlDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjMwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7q/i/2AAAEZklEQVRIS62S2U+UVxjGv9umCVpkACE4UA2NoLIIKMgSK6DA + sMu+iZRF9tUBYUBUQIIoSnEZsCj7LijEkXVYRKCovbFJY/+IXvT+6fseZkjGdEhNOsmTX97zzTy/Oed8 + EoCvyld/9D/cZ3qgi7Ktj7nZ/r985dKrvdJ+xBJfxkcuTdOzZl29gWC7qeUO9GHB5+U+fF7uxx/aXmLf + F+wXhX8qU3fTetgCn+a74WUjvdbVGwoKy8qRdCkd2fkFQvBxogXvemux0VeH9Z4abPbX0azC1sB1scaC + 32LPYMVDjo1oTzTYmmOhuxbu1tKcrt5QkJmbh4TUNDBZsD3aRIU1ePusigpVu1x/fg2bfbVC8CHqNJZc + bbCkcEO9rQwadRVOWkkLunpDQUbOFcQlp4DJgl+HG7DWXYl3PdWCXKyfWcaC9+HuWHCyxlKQixBMd5Qb + F1zKzMLFhEQwWbBBR/KWClefVlCuCq5TMZPXWbAV5IxZB0vM+x8Xgpm9BKmXMxAZGwcmC/jMlztLsdpV + LrjercRKZxnWSKBVlwjBpv8xaOxlmPM7urOD9hLjgsS0NIRGRYPJgjX6tytUrH1STJIyLD4qFLOeLFj3 + tceMnSk0Xod1Oyg1LuDzDw6PEPcgdkAXuvBzHrSPi7DYkS+49LBglyxY9bTD1KF9mHGXC8GL1nzjguj4 + BASGKMAUO/hFSUX5mHuQQ4I8kuWKeb79CrQ6wRIVj1mb4KWLjU6QZ1wQEROLcxeCwGTBSmc5ZtuyME+C + ufvZWGjPMZhZME+v6JCVCcZPWKNeLsPo7UzjAkVkFPz8A8BkwRKd9ey9n/D6TrqgpvUy5toy8eZuhphZ + oKFXdPK4FQYdLVFHgvHmLOOCoLBweJ/9EUwW8LnPNKdCQ4Lp2ymC+pnJgp4fLNH4vQUeHDGHSm6GoVtp + xgV8/p6+fuIeWPCmLVsUv2xMEnzVlCyKpxoSBVupuNH+IJ7nBkFFsupDZhhu2EPgT+d/6ow3mEJwLxuT + NxMw3ZiM8euxglO3EgUn6uPQZGcOdbIvxuvjoU7xg4oEvapE44Kzgefh5ukFJgumW9IxeSOOymPwoj4W + Y3UXxTxaG71LFo+ooul5HAaqI9FbG29c4HfOH64ep8BkwQwJRmoiMUEC5jgJmCwbro4QQp6Zw8SBaxHo + q4mFm5U0r6s3FPjQBTu7uYPJgombSRhTRWGgMkxwhEo5g1XhYu5Xhu7OoyToqVDsLfCiCz7h4gqmENxI + QP9VBYaqwgQHlArBwcpQ9FWECPLaKEl2nofimTKKBf9+RKe9fXDMyRlMFoyoYtBbHoKuwgB0lwTtsPiC + YA+tPy0MFLM+6oIAdJaGw/WgtKirNxR4eHlDHxb0VkbhUVEwHhcp0FEQDHVJmCDPDwtD8KQ4VJDXmR2U + uznn4WQpaXX14vMNx+Q70wHKJ8rvHNmB/X/TF7eOWUjvHc2lD/81DjLp41GZNEydNpRvWWBNsaU4UFwo + J/+HuFIcJUmy+QdCMju4m8uS2QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzNzQ2OTA5NEQyNzExRTRBQzE5ODE3QUREMDMz + RkNEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzNzQ2OTA4NEQyNzExRTRBQzE5ODE3QUREMDMz + RkNEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjY4MkNFODIyNjRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7LYcOsAAACTUlEQVRIS5XW3UtTYRwHcP+EoKtuouiii2gXlcRKykHd9KJp + YXhMe9PK2nqFBhG+gTkxX1rjtGah0UVddBEUiPRKJDIsyaY5dNWGbm2uZBgiZvXteR56Hs6Op/N0Lj6w + 33me8/0+nIudkwPA1NLla1UCEkmilliivz9r0CM3KFUuNxZ+wVQi9RX1nmu0qIFYps3ICtSjBZVON+YX + fpsKdN9HTWM7PO1+WtJMrOAZi0IpsmH9X8pR50XM/fhp6mbXPRqsums9aPXdYiU8yyhczd9RApnV6/KR + t70YsXgKwcEQWrydzPvRcVoQ5nlGBZiZnTc19W0Gj3tfYqOjgIlE41nrNIPnGRZMf58zFUukscqWh4c9 + z7F5WxE2bNmJkfGoWJcWpDOzpj5NpmhIZuWaTXjw6Alyt+6CN3BXrEsLkuQRmImnM3j2eoDpfzuMiuMX + 0OG/I9alBZNTGcZut8NmszH0N7+uV37sPNrUbjFLC6Jfpi0pqzqHq74uMUsLIhNphp/+X/g+pfIsmr23 + xSwtCEeTlpQeOYOmjk4xSwuGPyYYo1Nr8X37D59GY1tAzNKCd2MTlpQccqGh1S9macGb0RhjdGotvm/f + QRfqWm6IWVoQDH22ZG+FEzUeVczSgr6hCGN0ai2+r7j8FC43+cQsLXg1OGZJ0YGTuHTlupilBS8GwozR + qbX4vj1l1eTv24FcRyFDMlSeZ1jwNPjBkkKlmoYqBHtRafOywila0Ns/YkmBcoIV6LOoRRdoQU9fyJLd + pdYK/uczRU8882zI+QPBTkk4sL23wAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z + Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 + 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT + O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 + mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA + mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI + lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j + CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 + +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug + QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb + dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf + 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 + ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 + mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y + tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA + AElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY5QzgyODdDNEFBNjExRTRBQjc4QTlDNkE4RTgy + QzFEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY5QzgyODdCNEFBNjExRTRBQjc4QTlDNkE4RTgy + QzFEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTkwNkVCNzZBNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5gwa99AAAE3ElEQVRIS63Re0xTZxgG8E+WbFMXGSI3K1AElAlRJgFUVNYI + qIAXLiIFKXcjq7IxHajRMYZDRASDAspNBStoy0QKCojcKQJHtAgqCEwnHuY2dCbG/bPk2XeIPdOFxsX4 + Js8ffb5z3l9PPvKuA+B/5c0RRsXT5P2byATa6tBMmTh/bSZbNlneHGFkgbydBZfyDhbETHKKth/RcMh7 + GGFkYVbVCA5euIfDij4QwaZztJ1K88HffzURTd59hBGnMioGkSi7g+SSbpDZG+W0nUbz3oAzqfTfJ5b0 + YX9hJwcoaPtWQBJLCmgYTUJ2kEJaT3J3wvCSRFk/EgrV2Jun4oCfaPtWgC5kBh+l4P5oBs0xiLeRHlpP + cnfm4ef2nbmNuBM9+Ca7jQMu0fZ1QEeTiedfTfB2wtwa3IXrfeFQ3YqATxhR03ri7iYe4Mc8rCw+/xak + x7oRe7SZAhuUtJ324lmdiC4VTxJX7jWxlDBd/WFoU29GvSoI3sGkl3uP5r9AqDw2h0HUkQ7EpDdwQDVt + p718fjVYmb20XZ72GasJ/a2i8BZ6PiXgS8K09wahqccfNW0SrA3SCkjKpVldEB9oQ8TBegqsv7JggfAT + DriQasO+fLYZmsgOzB8be1QR7u/7xYf+2wjTcjMUtZ1uUDb5Y7VYG2AmqQhNUyEgqQnipBoQk/V1PPDj + PPbFbyI87LTG+OgyFO2z/HVk8Hy060r7j322EuZqlycuq9xxsd4D7pu1AiGVoamtWLf3GgK/q+aAqxrg + fLI1+3xsCYZbLcEOOSJv99wJYImz7dQN0YSpux6MimYnlNf5YFWAVmBLte/+BnjuugLvnZcosK6BB763 + ZP8cdcRAvQUeDzggb5eQB7wjCXOpeSkU15whUzpC5K8dqPHdUwuRtBJeXys4oFkDlO2zYJ8+XIz+KnM8 + umOPk3FmPLA2nDAVjW6Q1cxDcaUjVvppA0yD69bGVWHF1nK4xZSCGHu38MAeITs+shBqhSl+6bPDyVhT + HlgdRpjS2kUoqpyPfIUdlvtqBYKuuUkvYkloKVZElHBAuwYojTdjf7+/AMzZ2XigtsEJqYAH3CSEOaW0 + Ra7cGlkyKyzbqBUQN7pGXcCigGK4SIoo4NWhAc7tnMM+uWuNjgIjjNywRG6MCQ+IQgiTp7BFerExMk/b + wXmDdqDFKaQUC/2KYB+QT+/Aq5MHvprNjvXNRetxAwx1CZEbbcwDrsGEyThritQiUyTnCuC0TisQ2LY4 + sBjWnifwuV8O/QLPbg0g227MPlaboTFdHwOqOciJMOSB5WLCpJ02QWKOHpKyzeHgpQ2YE6iy31QES/dM + 2HgeATFa08MDMUbsaI8Al5P00NdoguMSAx5YFkiYlHwBdqfPQsJhfdivIbfptjcAXRoBEfjdnOeZRYFD + sHJLAjFYdXfGjOlWvTdOS89EGzwZbDOCut4QndUGyAic+UdTfda3urrTLZz9iXp35qeIS9HF9sSZsFtF + Bug+Mxp9bjk3c2kciKGHkhi6D5JZomFi4DpM9F1qaL+0pip9b8E2y94s8czx9E1644f89J5mhlnclZf9 + kEzPnW09iJLmvo2IjMxfSX62diG1tHd6tZcf7pO4L5lFY/ha9Ibula15MCSP6leXxPR0Fu7QpLsjz4ee + z6CZ9D1CiM4/X3QnEat9eLkAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z + Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 + 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT + O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 + mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA + mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI + lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j + CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 + +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug + QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb + dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf + 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 + ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 + mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y + tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA + AElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGOUFCQzZDNEE5RjExRTRCOUJBREM4MzEzMUQ1 + NzQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGOUFCQzZCNEE5RjExRTRCOUJBREM4MzEzMUQ1 + NzQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODlBOTk3NTY5QzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6aIUJsAAAE0klEQVRIS6WVbVBUVRjH79297/fu3l2EFRCCdBit6YOROU2p + yALioLwkmRiWKCDx5oLyKqy4IwoEgyAYRC4gb/mGmIKBFi8mIBLql2iChnJyhtQPzTh9CKE9PWdDBCOk + 4T/zm+ec5zznv+funmcvcbfUZkG8UAPFNguF6S+yOfBdkc0IjJ/A+M71PG0oWFMASdw6pl0IQl+h9upI + 22voToU9ulmofQg5y9BFN9SZqymAD2CI3gLtvOn+RLu9J1/bdypR7diQrJZg/PVwy6uoI0fTEruJXw2G + TpnbxLXwBEM/nF+KmjLkcOLbPM286MrR7IQ40ZWruW8MEZbDvOPHS6+gVpNczdKkE5jrADUglH4sre4v + 06H2o5rviY4j8gv55rC8G+JEe7b8a9Z2Qd9mkrsHLyxHzUZ15aS5LcADCoAElFD7OzBOXDXJc9KaJYdD + /KvtkHwvK0TQNxvl3rsNrqgxbYY5N2lsVYtRdoM9lisH5RGYqP+Ty5nqSIiW5kz1L+nBvL4pXd03UOOC + TiepTjIUMWVev0+lgzrlP+ZqBp6s43bDMlQZL5mIi2mqWWlKVUVBtED8OTmI159NUt26edIZ1SVIFZPm + i7D5hVTVZqj7E9aNYZ6s2JSmauyvWYpO75cuayXShTibJP2LM/ulWIgWiCOJ/py+PkHqv1HmhMyx4qdg + uuSpOZgEQd3YmSTpkSmE1zckSpd6Kl1RrUFq0skKF6ixJeoN0gzq9krxEC0Qf4r34zyr46SBjuIlqGyP + eGK6ee1eaQvUjdUZpIfJgfzGyhixtavUGZljxAtakXwJauwAnqiKEaeojBYNEC3maHE4bD379udR4sDV + Agd0fJdQMs2chfX3oG4MTB/s9eN8yiPFa9fyHVBZpNComW6Ob1XFHsHKZ5GCAaKlPEIYClxFv56/g8+5 + VuCIisL4KiicMi+PFLZC3ROofxDry/qU7BbavzpqD4fgz2kEq/n0K0sQpbt4zEpgvCSMHw1aRa+CtH3x + Tr7LHKdGAW/Qb8Icn4g7Hsa/P1n3W5QX41P4Id/x5SEdyg/lTsuzmWMd28ERhaFc3blMHUrZzEZCygFQ + 5W/nyi4dtkfGIDbL3VW5uOADLh5qJ6B2NHw945MXwnU2ZtihnG3cFwJDOsOep/3wzBwLCjGPcrdxD3nG + egotQMV4MzrI3TufoUOwbrl4xBHB/P5Ha+gN2Vu5zrOpdsgUzNXTymf9AMw0x8oOZjHjpnfZuzB1BAQA + d6UiwoN2MwawDbA2mOHPngl0p9ZkBbE3GvbboswAtvY586lOnqGsQIY4GMAMAo+X6RQvQ4rDOQwId6cI + 2K5wULhm+DPdtQmLUKofU0XNxxzrwCaaSNlIJ1XH2qAEH7ocUhJA4jwGpAh9i7JN96OvnwLzfRto87zN + scCc0K9Q8km+dA+MLQYvugTm+F1IwpyEvC/E4ZoUO2Twpiv+lznWPm/8ZiPIYHelo0FP9ZrhSSD3R6IX + dRviaFGEjOeW6HXUCUphNbd2Mt4zuXduGTwpKyCFm46UI96h0uI8qEHIjQOPY9ZRV4JXKrfA+tTfBEBO + 2ze34jyUU4DwNcMG+KouBvCtwn2BGw2/rfAvTz63Z25Fr1XOAIS/V3w0FsBdiT8QG+NFcpb6OUQQfwME + xz0xnqHypQAAAABJRU5ErkJggg== + + + + + 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 + TkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ + mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ + Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX + E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 + i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ + CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw + PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT + tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p + uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V + tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN + pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG + Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFQzJGRUI2NEFFMDExRTRCNEQwQzlGQjVEQTAz + Mjk2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFQzJGRUI1NEFFMDExRTRCNEQwQzlGQjVEQTAz + Mjk2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUU3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz71LrnbAAACUElEQVRIS7WTTUgUYRjHh4g+oWyXiF1dESq0XLsUISR9bSQG + C1FGpSIdyktQVIfq4AYd6qBBhzq01xChrEuBCoIf1VoqbOAHae6mSbtWW22Zpm3w73l2BpoZHp2doj/8 + mGHe5/k9zDvzKgD+K4ozt+ifkKR6xCY7SFI9YpMdLCM12cEyUtMCLCWW6Z9ZRl+8ABXEE9eGrXBv3Aa6 + 7yaqec0yXGRBvc9/HF3dfZiZS+HHz18I9YRRdqiaB93UNPPHJDNzcFfZESS+TGF6NmUgOTWjDfFWaio5 + glRP66PWDiS/z4q0dT3nASHSLFJtQgSpnk+R8TgSyWmRycRX3qYUaZarNiEmoZnkyFgMscS3eaEaOk2K + U7UJMQnNvA8PRTAe/ywyMhbnLZojjVu1CRGkepqCd5vweuKDSMPDZqzJLnhJmhzVJkSQ6vHt2F+O/tF3 + GIzGDfSPxuDzV2KlI/s6aVyqTYggNeDwFAYrTp5Hz0AU4eGJNL2Db3Di9CWsXre+nRR7WJOWSZGkhIu4 + SkSIqNPjfVu4fR9Ona1FzbkAthSXwpGz+SMNn+Q1h8d7g+ryNKUxtCBx68zla3jQ8iwjLgTq+G+6rSmN + MYmZizsPHEN77yt09A1nBNfu9VfxH1Wraf/EJC/J3VSMxsedaHsxZIt7zU/BvbRduzW1GtOAhkDdHbSE + Bv6KK/VB0De5r6nVmAaU0Gs20jV9Qu2S5c7vXLU27yhpl6h2Ci0YoKwg8olS4jBRniFcyz0FBDvUCAMW + E1kEHx4+oXbgHu5lB0VRfgP1p66ckfD+bgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBQzA3NjM1NEFEMDExRTRCRDJCQTRBMTUzMERD + QUEwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBQzA3NjM0NEFEMDExRTRCRDJCQTRBMTUzMERD + QUEwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjRGOUQzNUFDRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7wDFMsAAADRElEQVRIS7WVbUyNYRjH2/iSD2behrAK1SJxTpF3hSZSmbxE + qZYT6SjJvL+sMZIZRqGat0hRmyxLXmq1VUoZHbVSspqQKWPGvMzfdT11Hs+5uz/4wIffdt//63/9r/M8 + z/08xwrAf0Uqyhg02kVPpBOviARimMwnIhVFKMzaxsENlzJz0dbegcTjZ0BaiswrIhVFKCwydlsCvv34 + peLtH8xDpsn8WqSiCAWFRcXtxtfvP1U8F63gAXqZX4tUFKGgPkPtXJGcdgUV1bXYsuvgv71FDAWe8PD0 + R8z2BDjp5vKABJlPRCqKUJij22xfdHR+RNenL2hubYfNODceYi3za5GKIhS0MtgQh3cfPqsMH6vjATEy + vxapKEJBq0PWx+P1+08qZdUmLOg+SWmETtbHSEURCtgeErkFbR0fLGh924WT5zJgN2E6D9ov6+0liFBj + kn7WYpTV1KOlvVMlICgSJZW1yrra1IygiFgecovw0fZbhImQOWV5qBFPG1sVnre9U6Eaho3RIX5volo7 + fy1PGaLNsAjUQsbAZSEbUd/yBidTryLCuFNZm+EBxEAiydl9Hk6lZ6HiSSOG2k1iva85p1ewGTL5LVll + wKLAcG64GrBmA2qbXqmQpgzo8c4hsuxdZrB2QJtjESpCZj8i1EnniQvZt1H0sBaPG9oUNu1Q3uZkwT9Y + u2csNiLU4DF8rB4ZuYWoevYSR5Mvw8NrKdbF7kGlqQW+Kw085LCs14xUZKjRmrh08Hg6yp++QGlNI2Z4 + B3LgbOLO6Qs5uFdugut0H9Y2yzIYqchQ06nwTbtR+rhJYdlaIwed6Kn5O7vPx/2HdcjKL8Eop6lc8xUz + mF4CQ+ZDXn7BeFBVj+LqBsTsSuQAi68n7Y8Z4vYp9WOpmcqRJS1C62EsNgyZjOOnLEBe0SPcr6xHIt33 + Ibau3Dxa8A3gI3kx567iS72WD0c6DKRbvNHqgqFi/5GOU3D+RiEKK+qQnl0AGwd3blqo9Wn80ROmeiPj + ZrHiv36nHCO6v7L9zB6xwbjKEI+CMhOyC8rg0P2LorQeEapvtZ84C2cz8xG94xD7j2jrotnOSe+FwLBY + TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4060,6 +4060,9 @@ 864, 17 + + 864, 17 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/NewFunction/FrmFloodAnalysis.cs b/NewFunction/FrmFloodAnalysis.cs index 2031ecf..c599ab0 100644 --- a/NewFunction/FrmFloodAnalysis.cs +++ b/NewFunction/FrmFloodAnalysis.cs @@ -103,14 +103,7 @@ GSOExtrudeStyle extrudeStyle = new GSOExtrudeStyle(); - if (checkBoxExtrude.Checked) - { - extrudeStyle.ExtrudeType = EnumExtrudeType.ExtrudeToValue; - } - else - { - extrudeStyle.ExtrudeType = EnumExtrudeType.ExtrudeNone; - } + extrudeStyle.ExtrudeType = checkBoxExtrude.Checked ? EnumExtrudeType.ExtrudeToValue : EnumExtrudeType.ExtrudeNone; extrudeStyle.ExtrudeValue = m_pntMinAlt.Z; extrudeStyle.TailPartVisible = false; @@ -151,32 +144,30 @@ private void timerPlay_Tick(object sender, EventArgs e) { - if (m_WaterFeature != null) + if (m_WaterFeature == null) return; + if (m_dBaseAlt > m_pntMaxAlt.Z) { - if (m_dBaseAlt > m_pntMaxAlt.Z) + if (checkBoxLoopPlay.Checked) { - if (checkBoxLoopPlay.Checked) - { - m_dBaseAlt = m_pntMinAlt.Z; - } - else - { - timerPlay.Stop(); - } + m_dBaseAlt = m_pntMinAlt.Z; } - - m_dBaseAlt += (double)numericUpDownAddPerTime.Value; - - m_globe.Analysis3D.FetchNoSourceFloodAnalyseResult(m_dBaseAlt, out m_dFloodArea, out m_dTotalArea, - out m_pntMaxAlt, out m_pntMinAlt); - - SetText(); - - textBoxWaterAlt.Text = m_dBaseAlt.ToString("f2"); - trackBarAlt.Value = Math.Min((int)m_dBaseAlt, trackBarAlt.Maximum); - GSOGeoWater geoWater = (GSOGeoWater)m_WaterFeature.Geometry; - geoWater.SetAltitude(m_dBaseAlt); + else + { + timerPlay.Stop(); + } } + + m_dBaseAlt += (double)numericUpDownAddPerTime.Value; + + m_globe.Analysis3D.FetchNoSourceFloodAnalyseResult(m_dBaseAlt, out m_dFloodArea, out m_dTotalArea, + out m_pntMaxAlt, out m_pntMinAlt); + + SetText(); + + textBoxWaterAlt.Text = m_dBaseAlt.ToString("f2"); + trackBarAlt.Value = Math.Min((int)m_dBaseAlt, trackBarAlt.Maximum); + GSOGeoWater geoWater = (GSOGeoWater)m_WaterFeature.Geometry; + geoWater.SetAltitude(m_dBaseAlt); } private void trackBarAlt_Scroll(object sender, EventArgs e) @@ -196,19 +187,9 @@ private void checkBoxExtrude_CheckedChanged(object sender, EventArgs e) { - if (m_WaterFeature != null) - { - GSOGeoWater geoWater = (GSOGeoWater)m_WaterFeature.Geometry; - if (checkBoxExtrude.Checked) - { - geoWater.ExtrudeStyle.ExtrudeType = EnumExtrudeType.ExtrudeToValue; - } - else - { - geoWater.ExtrudeStyle.ExtrudeType = EnumExtrudeType.ExtrudeNone; - - } - } + if (m_WaterFeature == null) return; + GSOGeoWater geoWater = (GSOGeoWater)m_WaterFeature.Geometry; + geoWater.ExtrudeStyle.ExtrudeType = checkBoxExtrude.Checked ? EnumExtrudeType.ExtrudeToValue : EnumExtrudeType.ExtrudeNone; } private void buttonSetPlayParam_Click(object sender, EventArgs e) diff --git a/ClassDoubleScreenCompare.cs b/ClassDoubleScreenCompare.cs index 692ef01..1a8ceca 100644 --- a/ClassDoubleScreenCompare.cs +++ b/ClassDoubleScreenCompare.cs @@ -19,7 +19,7 @@ if (!feature.Dataset.Caption.StartsWith("施工")) { - layer = feature.Dataset.Caption == "供电管线" + layer = feature.Dataset.Caption.Equals("供电管线") ? globeControl2.Globe.Layers.GetLayerByCaption("施工电力管线") : globeControl2.Globe.Layers.GetLayerByCaption("施工" + feature.Dataset.Caption); @@ -33,7 +33,7 @@ } else { - layer = feature.Dataset.Caption == "施工电力管线" + layer = feature.Dataset.Caption.Equals("施工电力管线") ? globeControl1.Globe.Layers.GetLayerByCaption("供电管线") : globeControl1.Globe.Layers.GetLayerByCaption(feature.Dataset.Caption.Replace("施工", "")); @@ -88,6 +88,7 @@ private static bool isSameFeature(GSOFeature feature1, GSOFeature feature2, GSOLayer layer, double bufferWidth) { GSOGeoPolyline3D line = feature1.Geometry as GSOGeoPolyline3D; + if (line == null) return false; GSOGeoPolygon3D bufferPolygon = line.CreateBuffer(bufferWidth * 2, true, 5, true, false); if (bufferPolygon == null) return false; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index c3f8ecc..209373c 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -237,6 +237,7 @@ + Form diff --git a/Cyberpipe.suo b/Cyberpipe.suo index d968c13..41f54d4 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 5a44320..c242b82 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -13,48 +13,23 @@ public static int bufferWidth = 8; public static string strLabel; - public static void CalculateDistance(out double vertical, out double horizon, GSOGeoPolyline3D line1, - GSOGeoPolyline3D line2, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) - { - GSOPoint3d pntIntersect1 = new GSOPoint3d(); - GSOPoint3d pntIntersect2 = new GSOPoint3d(); - GSOPoint3d pntProIntersect1 = new GSOPoint3d(); - GSOPoint3d pntProIntersect2 = new GSOPoint3d(); - vertical = globeControl1.Globe.Analysis3D.ComputeVerticalDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - horizon = globeControl1.Globe.Analysis3D.ComputeHorizonDistance(line1, line2, - out pntIntersect1, out pntIntersect2, out pntProIntersect1, out pntProIntersect2, false); - } public static void clearFeatureHighLight(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { - ClearHighlight(globeControl1); - ClearHighlight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); } - static void ClearHighlight(GSOGlobeControl ctl) - { - for (int i = 0; i < ctl.Globe.Layers.Count; i++) - { - GSOLayer layer = ctl.Globe.Layers[i]; - if (layer is GSOFeatureLayer) - { - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - GSOFeature feat = feats[j]; - feat.HighLight = false; - } - } - } - } - - /// - /// 单Feature对比方法 - /// - /// - /// - public static DataTable lineFeatureCompare(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + /// + /// 国标检测中根据道路比较实测图层和施工图层是否符合标准 + /// + /// + /// + /// + /// + /// + /// + public static DataTable CompareLayerByRoad(GSOLayer scLayer, GSOLayer sgLayer, string road, GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) { DataTable dt = new DataTable(); dt.Columns.Add("实测图层"); @@ -70,24 +45,21 @@ if (scLayer.Caption.Contains("给水") || scLayer.Caption.Contains("雨水") || scLayer.Caption.Contains("污水") || scLayer.Caption.Contains("雨污")) { strLabel = "目标图层包含不符合《给水排水构筑物工程施工及验收规范》(GB50141-2008)要求的管段,具体内容如下:"; -// CreateJiPaiShuiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if(scLayer.Caption.Contains("燃气")) { strLabel = "目标图层包含不符合《聚乙烯燃气管道工程技术规程》(GJJ63-2008)要求的管段,具体内容如下:"; -// CreateRanQiDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } else if (scLayer.Caption.Contains("供电")) { strLabel = "目标图层包含不符合《电力建设施工及验收技术规范》 (DL5031-94)要求的管段,具体内容如下:"; -// CreateGongDianDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); } GBJCDataTable(scLayer, sgLayer, road, dt, globeControl1, globeControl2); return dt; } #region Fan Zhang 重构feature获取 - public static double getLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) + public static double GetLineLength(GSOFeature src,GSOLayer srcLayer,GSOGeoPolygon3D bufferPolygon) { GSOFeatures fullInPolygonFeatures = srcLayer.FindFeaturesInPolygon(bufferPolygon, true); @@ -160,7 +132,7 @@ for (int m = 0; m < sgFeaturesList.Length; m++) { GSOFeature tempFeature = sgFeaturesList[m]; - double tempLength = getLineLength(tempFeature, sgLayer, bufferPolygon); + double tempLength = GetLineLength(tempFeature, sgLayer, bufferPolygon); double lengthAbs = Math.Abs(tempLength - scLine.GetSpaceLength(false, 6378137)); if (lengthAbs < maxLength) @@ -233,7 +205,7 @@ { GSOGeoPolyline3D sgLine = sgFeature.Geometry as GSOGeoPolyline3D; double horizonDistance, verticalDistance; - CalculateDistance(out verticalDistance, out horizonDistance, scLine, sgLine, globeControl1, + ClassDoubleScreenCompare.CalculateDistance(scLine, sgLine, out verticalDistance, out horizonDistance, globeControl1, globeControl2); RowValueInsert(scFeature, sgFeature, horizonDistance, verticalDistance,hStandard,vStandard,dt); diff --git a/FeatureTools.cs b/FeatureTools.cs new file mode 100644 index 0000000..cfa1b3d --- /dev/null +++ b/FeatureTools.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using GeoScene.Data; +using GeoScene.Globe; + +namespace Cyberpipe +{ + class FeatureTools + { + /// + /// 清除地球上所有高亮的要素 + /// + /// + public static void ClearAllFeatureHighLight(GSOGlobeControl glb) + { + for (int i = 0; i < glb.Globe.Layers.Count; i++) + { + GSOLayer layer = glb.Globe.Layers[i]; + if (!(layer is GSOFeatureLayer)) continue; + GSOFeatures feats = layer.GetAllFeatures(); + for (int j = 0; j < feats.Length; j++) + { + feats[j].HighLight = false; + } + } + } + + public static bool DeleteFeature(GSOFeature feature) + { + try + { + string layerName = feature.Dataset.Caption; + + //编号为空,为了限制删除的仅是用户自己添加的feature + string bh = feature.GetFieldAsString("编号"); + if (bh!= null&&!bh.Trim().Equals("")) + { + MessageBox.Show("非自定义创建要素,不可删除"); + return false; + } + feature.Delete();//地球上删除该feature + string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; + OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 + } + catch (Exception) + { + return false; + } + return true; + } + + } +} diff --git a/FrmAccessoryAnalysis.cs b/FrmAccessoryAnalysis.cs index 87727c4..190d82c 100644 --- a/FrmAccessoryAnalysis.cs +++ b/FrmAccessoryAnalysis.cs @@ -135,35 +135,27 @@ } private void Polygon_Contain_PointAnalysis(GSOGeoPolygon3D polygon, string layername)//方法修改,返回类型由int类型修改为GSOFeatures { - GSOFeatures feats = new GSOFeatures(); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); - GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + GSOFeatures feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) - { - string featNum = feats[i].GetFieldAsString("编号"); - string featType = feats[i].GetFieldAsString("附属物名称"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layername; - row.Cells["附属物名称"].Value = featType; - row.Cells["编号"].Value = featNum; + string featNum = feats[i].GetFieldAsString("编号"); + string featType = feats[i].GetFieldAsString("附属物名称"); + if (feats[i].GetFieldDefn("标识器编号") != null) + { + featNum = feats[i].GetFieldAsString("标识器编号"); } + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layername; + row.Cells["附属物名称"].Value = featType; + row.Cells["编号"].Value = featNum; } } @@ -188,50 +180,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -243,21 +229,17 @@ if (count < 40) { count++; - if (flashflag == "single") + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + if (count % 2 != 0) { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } + m_feature.HighLight = true; + globeControl1.Refresh(); + } + else + { + m_feature.HighLight = false; + globeControl1.Refresh(); } } else @@ -282,26 +264,22 @@ //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) + if (!features[j].Name.Equals(featureName)) continue; + m_feature = features[j]; + if (m_feature.Geometry != null) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null) - { - globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); - } - LightMenu_Click(sender, e); - break; - } + globeControl1.Globe.FlyToGeometry(m_feature.Geometry, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 5); + } + LightMenu_Click(sender, e); + break; } } } @@ -317,25 +295,23 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - pt.X = point3d.X; - pt.Y = point3d.Y; - pt.Z = point3d.Z; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + pt.X = point3d.X; + pt.Y = point3d.Y; + pt.Z = point3d.Z; + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); + } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmAddInstrument.cs b/FrmAddInstrument.cs index 683c3be..2c0ea07 100644 --- a/FrmAddInstrument.cs +++ b/FrmAddInstrument.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -25,6 +26,7 @@ panel1.Controls.Add(plane3DControl); plane3DControl.Dock = DockStyle.Fill; } + /// /// 添加按钮事件处理 /// @@ -32,37 +34,37 @@ /// private void btnAdd_Click(object sender, EventArgs e) { - if (feature != null) + if (feature == null) { - if (markerFeature != null) - { - markerFeature.Delete(); - } - GSOPoint3d pt = new GSOPoint3d(); - pt.X = point.X; - pt.Y = point.Y; - pt.Z = point.Z; - GSOGeoModel model = new GSOGeoModel(); - model.FilePath = modelPath; - model.Position = pt; - model.AltitudeMode = EnumAltitudeMode.Absolute; - feature = new GSOFeature(); - feature.Geometry = model; - modelLayer.AddFeature(feature); - if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - modelLayer.Save(); - } - globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); - globeControl1.Refresh(); - } - else - { - MessageBox.Show("请选中一个附属物!","提示"); + MessageBox.Show("请选中一个附属物!", "提示"); return; } - Close(); + + if (markerFeature != null) + { + markerFeature.Delete(); + } + GSOPoint3d pt = new GSOPoint3d(); + pt.X = point.X; + pt.Y = point.Y; + pt.Z = point.Z; + GSOGeoModel model = new GSOGeoModel(); + model.FilePath = modelPath; + model.Position = pt; + model.AltitudeMode = EnumAltitudeMode.Absolute; + feature = new GSOFeature(); + feature.Geometry = model; + modelLayer.AddFeature(feature); + if (MessageBox.Show("是否保存到数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + modelLayer.Save(); + } + globeControl1.Globe.FlyToFeature(feature, 0, 45, 3); + globeControl1.Refresh(); + + Close(); } + /// /// 关闭按钮事件处理 /// diff --git a/FrmAddInstrument.designer.cs b/FrmAddInstrument.designer.cs index 2ebab1d..307d2c6 100644 --- a/FrmAddInstrument.designer.cs +++ b/FrmAddInstrument.designer.cs @@ -56,10 +56,9 @@ this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel1.Controls.Add(this.listBoxSize); this.groupPanel1.Controls.Add(this.label2); - this.groupPanel1.Location = new System.Drawing.Point(15, 58); - this.groupPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel1.Location = new System.Drawing.Point(11, 46); this.groupPanel1.Name = "groupPanel1"; - this.groupPanel1.Size = new System.Drawing.Size(611, 125); + this.groupPanel1.Size = new System.Drawing.Size(458, 100); // // // @@ -96,11 +95,10 @@ // listBoxSize // this.listBoxSize.FormattingEnabled = true; - this.listBoxSize.ItemHeight = 15; - this.listBoxSize.Location = new System.Drawing.Point(115, 11); - this.listBoxSize.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.listBoxSize.ItemHeight = 12; + this.listBoxSize.Location = new System.Drawing.Point(86, 9); this.listBoxSize.Name = "listBoxSize"; - this.listBoxSize.Size = new System.Drawing.Size(464, 94); + this.listBoxSize.Size = new System.Drawing.Size(349, 76); this.listBoxSize.TabIndex = 8; this.listBoxSize.SelectedIndexChanged += new System.EventHandler(this.listBoxSize_SelectedIndexChanged); // @@ -109,10 +107,9 @@ this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.Font = new System.Drawing.Font("宋体", 9F); - this.label2.Location = new System.Drawing.Point(20, 11); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Location = new System.Drawing.Point(15, 9); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(67, 15); + this.label2.Size = new System.Drawing.Size(53, 12); this.label2.TabIndex = 1; this.label2.Text = "附属物:"; // @@ -121,10 +118,9 @@ this.groupPanel2.CanvasColor = System.Drawing.SystemColors.Control; this.groupPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.groupPanel2.Controls.Add(this.panel1); - this.groupPanel2.Location = new System.Drawing.Point(15, 190); - this.groupPanel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel2.Location = new System.Drawing.Point(11, 152); this.groupPanel2.Name = "groupPanel2"; - this.groupPanel2.Size = new System.Drawing.Size(611, 329); + this.groupPanel2.Size = new System.Drawing.Size(458, 263); // // // @@ -163,19 +159,17 @@ // this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(605, 302); + this.panel1.Size = new System.Drawing.Size(452, 241); this.panel1.TabIndex = 0; // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnCancel.Location = new System.Drawing.Point(527, 528); - this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnCancel.Location = new System.Drawing.Point(395, 422); this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(100, 29); + this.btnCancel.Size = new System.Drawing.Size(75, 23); this.btnCancel.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnCancel.TabIndex = 16; this.btnCancel.Text = "关闭"; @@ -185,10 +179,9 @@ // this.btnAdd.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnAdd.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnAdd.Location = new System.Drawing.Point(415, 528); - this.btnAdd.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.btnAdd.Location = new System.Drawing.Point(311, 422); this.btnAdd.Name = "btnAdd"; - this.btnAdd.Size = new System.Drawing.Size(100, 29); + this.btnAdd.Size = new System.Drawing.Size(75, 23); this.btnAdd.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnAdd.TabIndex = 15; this.btnAdd.Text = "添加"; @@ -202,10 +195,9 @@ this.groupPanel3.Controls.Add(this.textBoxXLon); this.groupPanel3.Controls.Add(this.labelLat); this.groupPanel3.Controls.Add(this.labelLon); - this.groupPanel3.Location = new System.Drawing.Point(15, 8); - this.groupPanel3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupPanel3.Location = new System.Drawing.Point(11, 6); this.groupPanel3.Name = "groupPanel3"; - this.groupPanel3.Size = new System.Drawing.Size(611, 40); + this.groupPanel3.Size = new System.Drawing.Size(458, 32); // // // @@ -246,10 +238,9 @@ // this.textBoxXLat.Border.Class = "TextBoxBorder"; this.textBoxXLat.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLat.Location = new System.Drawing.Point(409, 2); - this.textBoxXLat.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLat.Location = new System.Drawing.Point(307, 2); this.textBoxXLat.Name = "textBoxXLat"; - this.textBoxXLat.Size = new System.Drawing.Size(171, 30); + this.textBoxXLat.Size = new System.Drawing.Size(128, 21); this.textBoxXLat.TabIndex = 3; this.textBoxXLat.TextChanged += new System.EventHandler(this.textBoxXLat_TextChanged); // @@ -260,10 +251,9 @@ // this.textBoxXLon.Border.Class = "TextBoxBorder"; this.textBoxXLon.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.textBoxXLon.Location = new System.Drawing.Point(115, 2); - this.textBoxXLon.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.textBoxXLon.Location = new System.Drawing.Point(86, 2); this.textBoxXLon.Name = "textBoxXLon"; - this.textBoxXLon.Size = new System.Drawing.Size(171, 30); + this.textBoxXLon.Size = new System.Drawing.Size(128, 21); this.textBoxXLon.TabIndex = 2; this.textBoxXLon.TextChanged += new System.EventHandler(this.textBoxXLon_TextChanged); // @@ -272,10 +262,9 @@ this.labelLat.AutoSize = true; this.labelLat.BackColor = System.Drawing.Color.Transparent; this.labelLat.Font = new System.Drawing.Font("宋体", 9F); - this.labelLat.Location = new System.Drawing.Point(329, 11); - this.labelLat.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLat.Location = new System.Drawing.Point(247, 9); this.labelLat.Name = "labelLat"; - this.labelLat.Size = new System.Drawing.Size(52, 15); + this.labelLat.Size = new System.Drawing.Size(41, 12); this.labelLat.TabIndex = 1; this.labelLat.Text = "纬度:"; // @@ -284,18 +273,17 @@ this.labelLon.AutoSize = true; this.labelLon.BackColor = System.Drawing.Color.Transparent; this.labelLon.Font = new System.Drawing.Font("宋体", 9F); - this.labelLon.Location = new System.Drawing.Point(20, 11); - this.labelLon.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.labelLon.Location = new System.Drawing.Point(15, 9); this.labelLon.Name = "labelLon"; - this.labelLon.Size = new System.Drawing.Size(52, 15); + this.labelLon.Size = new System.Drawing.Size(41, 12); this.labelLon.TabIndex = 1; this.labelLon.Text = "经度:"; // // FrmAddInstrument // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(641, 564); + this.ClientSize = new System.Drawing.Size(481, 451); this.Controls.Add(this.groupPanel3); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnAdd); @@ -304,7 +292,6 @@ this.DoubleBuffered = true; this.EnableGlass = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.MaximizeBox = false; this.Name = "FrmAddInstrument"; this.ShowIcon = false; diff --git a/FrmBufferAnalysis.cs b/FrmBufferAnalysis.cs index ea8a4b7..30bab88 100644 --- a/FrmBufferAnalysis.cs +++ b/FrmBufferAnalysis.cs @@ -30,13 +30,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } } @@ -114,23 +112,17 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i=0;i @@ -145,25 +137,18 @@ { e.Handled = true; } - if (e.KeyChar == 46) //小数点 + if (e.KeyChar != 46) return; + if (text.Text.Length <= 0) + e.Handled = true; //小数点不能在第一位 + else //处理不规则的小数点 { - if (text.Text.Length <= 0) - e.Handled = true; //小数点不能在第一位 - else //处理不规则的小数点 - { - float f; - float oldf; - bool b1 = false, b2 = false; - b1 = float.TryParse(text.Text, out oldf); - b2 = float.TryParse(text.Text + e.KeyChar, out f); - if (b2 == false) - { - if (b1) - e.Handled = true; - else - e.Handled = false; - } - } + float f; + float oldf; + bool b1 = false, b2 = false; + b1 = float.TryParse(text.Text, out oldf); + b2 = float.TryParse(text.Text + e.KeyChar, out f); + if (b2) return; + e.Handled = b1; } } /// @@ -197,51 +182,44 @@ DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } - } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -258,22 +236,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -293,38 +259,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute,0,45,5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -337,23 +297,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmBufferAnalysisBSQ.cs b/FrmBufferAnalysisBSQ.cs index d887d47..e08dba3 100644 --- a/FrmBufferAnalysisBSQ.cs +++ b/FrmBufferAnalysisBSQ.cs @@ -28,13 +28,11 @@ for (int i = globeControl1.Globe.Layers.Count - 1; i >= 0; i--) { GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer.Dataset != null && layer.Dataset.IsFeatureDataset) + if (layer.Dataset == null || !layer.Dataset.IsFeatureDataset) continue; + string name = layer.Name; + if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) { - string name = layer.Name; - if (layer.Type == EnumLayerType.FeatureLayer && !name.Contains("\\")) - { - clbLayers.Items.Add(layer.Caption); - } + clbLayers.Items.Add(layer.Caption); } } if (txtRadius.Text != "" && pt != null) @@ -127,34 +125,28 @@ GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layername); GSOFeatureLayer flayer = layer as GSOFeatureLayer; - GSOFeatureDataset fdataset = flayer.Dataset as GSOFeatureDataset; - - if (polygon == null) - feats = flayer.GetAllFeatures(); - else - feats = flayer.FindFeaturesInPolygon(polygon, false); - if (feats.Length > 0) + if (flayer == null) return; + feats = polygon == null ? flayer.GetAllFeatures() : flayer.FindFeaturesInPolygon(polygon, false); + if (feats.Length <= 0) return; + for (int i = 0; i < feats.Length; i++) { - for (int i = 0; i < feats.Length; i++) + string featNum = feats[i].GetFieldAsString("编号"); + if (feats[i].GetFieldDefn("标识器编号") != null) { - string featNum = feats[i].GetFieldAsString("编号"); - if (feats[i].GetFieldDefn("标识器编号") != null) - { - featNum = feats[i].GetFieldAsString("标识器编号"); - } - if (markList.Contains(featNum) == false) - { - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["编号"].Value = featNum; - row.Cells["图层名称"].Value = layername; - markList.Add(featNum); - } - else - { - return; - } + featNum = feats[i].GetFieldAsString("标识器编号"); + } + if (markList.Contains(featNum) == false) + { + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["编号"].Value = featNum; + row.Cells["图层名称"].Value = layername; + markList.Add(featNum); + } + else + { + return; } } } @@ -210,48 +202,42 @@ { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); //idx = hittestinfo.RowIndex; - if (hittestinfo.RowIndex > -1) - { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) + { + if (features[j].Name == featureName) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - } - } + m_feature = features[j]; } } } - if (e.Button == MouseButtons.Right) + else if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); + featureName = featureName.Trim(); + + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) + return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - contextMenuStrip1.Show(dataGridViewX1, e.X, e.Y); - featureName = featureName.Trim(); - - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer == null) - return; - GSOFeatures features = layer.GetFeatureByName(featureName, false); - - for (int j = 0; j < features.Length; j++) + if (features[j].Name == featureName) { - if (features[j].Name == featureName) - { - m_feature = features[j]; - break; - } + m_feature = features[j]; + break; } } } @@ -263,22 +249,10 @@ if (count < 40) { count++; - if (flashflag == "single") - { - if (m_feature != null) - { - if (count % 2 != 0) - { - m_feature.HighLight = true; - globeControl1.Refresh(); - } - else - { - m_feature.HighLight = false; - globeControl1.Refresh(); - } - } - } + if (!flashflag.Equals("single")) return; + if (m_feature == null) return; + m_feature.HighLight = count % 2 != 0; + globeControl1.Refresh(); } else { @@ -295,38 +269,32 @@ if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hittestinfo = dataGridViewX1.HitTest(e.X, e.Y); - if (hittestinfo.RowIndex > -1) + if (hittestinfo.RowIndex <= -1) return; + string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); + string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); + + //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); + if (layer == null) return; + GSOFeatures features = layer.GetFeatureByName(featureName, false); + for (int j = 0; j < features.Length; j++) { - string featureName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["编号"].Value.ToString().Trim(); - string layerName = dataGridViewX1.Rows[hittestinfo.RowIndex].Cells["图层名称"].Value.ToString().Trim(); - - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)(Utility.LayerLabel_LayerIDs[layerName])); - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerName); - if (layer != null) + if (features[j].Name != featureName) continue; + m_feature = features[j]; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - GSOFeatures features = layer.GetFeatureByName(featureName, false); - for (int j = 0; j < features.Length; j++) - { - if (features[j].Name == featureName) - { - m_feature = features[j]; - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); - } - } + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } } } @@ -340,23 +308,21 @@ private void FlyToMenu_Click(object sender, EventArgs e) { - if (m_feature != null) + if (m_feature == null) return; + if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) { - if (m_feature.Geometry != null && m_feature.Geometry.Type == EnumGeometryType.GeoPolyline3D) - { - GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; - double length = line.GetSpaceLength(true, 6378137); - GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); - GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; + GSOGeoPolyline3D line = m_feature.Geometry as GSOGeoPolyline3D; + double length = line.GetSpaceLength(true, 6378137); + GSOGeoPolyline3D lineLine = line.GetSegment(0, length / 2); + GSOPoint3d point3d = lineLine[lineLine.PartCount - 1][lineLine[lineLine.PartCount - 1].Count - 1]; - globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); - } - else - { - globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); - } - LightMenu_Click(sender, e); + globeControl1.Globe.FlyToPosition(point3d, EnumAltitudeMode.Absolute, 0, 45, 5); } + else + { + globeControl1.Globe.FlyToFeature(m_feature, 0, 45, 3); + } + LightMenu_Click(sender, e); } private void LightMenu_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index ac622c4..0a5d0b0 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -43,27 +43,28 @@ globeControl2.MouseClick += globeControl2_MouseClick; } - private void invalParam() + private bool InvalParam() { if (srcFeature == null || dscFeature == null) { MessageBox.Show("请选择要对比的管段!", "提示"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type) { MessageBox.Show("请选择同种类型图层!"); - return; + return false; } - else if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || - srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) - return; + if (srcFeature.Geometry.Type != dscFeature.Geometry.Type || + srcFeature.Geometry.Type != EnumGeometryType.GeoPolyline3D) + return false; + return true; } private void buttonAnalysis_Click(object sender, EventArgs e) { - invalParam(); - + bool isvalid = InvalParam(); + if (!isvalid) return; dataGridViewX1.DataSource = null; lineFeatureCompare(srcFeature, dscFeature); } @@ -75,11 +76,13 @@ private void lineFeatureCompare(GSOFeature srcFeature, GSOFeature dscFeature) { GSOGeoPolyline3D srcLine = srcFeature.Geometry as GSOGeoPolyline3D; - double srcLineLength = srcLine.GetSpaceLength(false, 6378137); + if (srcLine == null) return; GSOGeoPolyline3D dscLine = dscFeature.Geometry as GSOGeoPolyline3D; + if (dscLine == null) return; + double srcLineLength = srcLine.GetSpaceLength(false, 6378137); double dscLineLength = dscLine.GetSpaceLength(false, 6378137); - + double horizonDistance, verticalDistance; ClassDoubleScreenCompare.CalculateDistance(srcLine, dscLine, out horizonDistance, @@ -136,26 +139,13 @@ globeControl2.Refresh(); } - public static void clearFeatureHighLight(GSOGlobeControl glb) - { - for (int i = 0; i < glb.Globe.Layers.Count; i++) - { - GSOLayer layer = glb.Globe.Layers[i]; - if (!(layer is GSOFeatureLayer)) continue; - GSOFeatures feats = layer.GetAllFeatures(); - for (int j = 0; j < feats.Length; j++) - { - feats[j].HighLight = false; - } - } - } void globeControl1_MouseClick(object sender, MouseEventArgs e) { if (globeControl1.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { @@ -181,10 +171,10 @@ void globeControl2_MouseClick(object sender, MouseEventArgs e) { - + if (globeControl2.Globe.SelectedObject == null) return; - clearFeatureHighLight(globeControl1); - clearFeatureHighLight(globeControl2); + FeatureTools.ClearAllFeatureHighLight(globeControl1); + FeatureTools.ClearAllFeatureHighLight(globeControl2); try { diff --git a/FrmGBJC.cs b/FrmGBJC.cs index d7acc30..e103403 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -21,8 +21,6 @@ { this.globeControl1 = _globeControl1; this.globeControl2 = _globeControl2; - //DoublePanelAnalysis.globeControl1 = globeControl1; - //DoublePanelAnalysis.globeControl2 = globeControl2; this.layerTemp = _layerTemp; this.layerTemp2 = _layerTemp2; InitializeComponent(); @@ -119,7 +117,7 @@ if (scLayer == null || sgLayer == null) return; - DataTable dt = DoublePanelAnalysis.lineFeatureCompare(scLayer, sgLayer, + DataTable dt = DoublePanelAnalysis.CompareLayerByRoad(scLayer, sgLayer, comboBoxRoad.SelectedItem.ToString(), globeControl1, globeControl2); FrmGBJCresult rs = new FrmGBJCresult(globeControl1, globeControl2, dt); diff --git a/MainFrm.cs b/MainFrm.cs index 6f9ec57..7c21cae 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -3365,9 +3365,9 @@ return dismarker.Position; } - #region wxl重构未完成 + #region wxl /// - /// 碰撞分析 + /// wxl重构,碰撞分析 /// /// /// @@ -3423,7 +3423,7 @@ } /// - /// 垂直净距分析,暂时没有在地图上标注 + /// wxl重构,垂直净距分析 /// /// /// @@ -3533,7 +3533,6 @@ featLenth.Clear(); listBox3.Items.Clear(); layerTemp.RemoveAllFeature(); - //polygonJingJuAnalysises.RemoveAll(); clearFeatureHighLight(); dataGridViewX9.Rows.Clear(); Cursor = Cursors.WaitCursor; @@ -3572,6 +3571,7 @@ /// private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1,selectedFeature, _pipelineLayerNames, dis); if (featureMap == null) @@ -4281,10 +4281,9 @@ dataGridViewX4.Rows.Clear(); dataGridViewX5.Rows.Clear(); GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(comboBoxEx2.SelectedItem.ToString()); - if (layer == null) - return; - + GSOFeatureLayer flayer = layer as GSOFeatureLayer; + if (flayer == null) return; GSOFeatures feats = flayer.GetAllFeatures(); for (int i = 0; i < feats.Length; i++) { @@ -7414,13 +7413,17 @@ GSOFeature f; GSOLayer layer; globeControl1.Globe.GetSelectObject(i, out f, out layer); - if (f == null) continue; - f.Delete(); - if (layer != null) - globeControl1.Globe.AddToEditHistroy(layer, f, EnumEditType.Delete); +// if (f == null) continue; +// f.Delete(); +// if (layer != null) +// globeControl1.Globe.AddToEditHistroy(layer, f, EnumEditType.Delete); + FeatureTools.DeleteFeature(f); + globeControl1.Refresh(); + } + MessageBox.Show("删除成功!", "提示"); globeControl1.Globe.Action = EnumAction3D.ActionNull; } diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index cf83817..2622c33 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -37,17 +37,17 @@ { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = 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(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = 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(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle25 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle26 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle27 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle28 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle29 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle30 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle31 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle32 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle33 = new System.Windows.Forms.DataGridViewCellStyle(); this.dotNetBarManager1 = new DevComponents.DotNetBar.DotNetBarManager(this.components); this.dockSite4 = new DevComponents.DotNetBar.DockSite(); this.dockSite1 = new DevComponents.DotNetBar.DockSite(); @@ -277,6 +277,9 @@ this.btn_user_role = new DevComponents.DotNetBar.ButtonItem(); this.btn_password_edit = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemPasswordReset = new DevComponents.DotNetBar.ButtonItem(); + this.ribbonPanel4 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar1 = new DevComponents.DotNetBar.RibbonBar(); + this.btn_document_info = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel15 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar20 = new DevComponents.DotNetBar.RibbonBar(); this.buttonItemSH = new DevComponents.DotNetBar.ButtonItem(); @@ -332,9 +335,6 @@ this.buttonItemXT4 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemXT4_1 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemXT4_2 = new DevComponents.DotNetBar.ButtonItem(); - this.ribbonPanel4 = new DevComponents.DotNetBar.RibbonPanel(); - this.ribbonBar1 = new DevComponents.DotNetBar.RibbonBar(); - this.btn_document_info = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel1 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar21 = new DevComponents.DotNetBar.RibbonBar(); this.buttonItem87 = new DevComponents.DotNetBar.ButtonItem(); @@ -543,8 +543,8 @@ this.ribbonPanel5.SuspendLayout(); this.ribbonPanel6.SuspendLayout(); this.ribbonPanel2.SuspendLayout(); - this.ribbonPanel15.SuspendLayout(); this.ribbonPanel4.SuspendLayout(); + this.ribbonPanel15.SuspendLayout(); this.ribbonPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.panelOfTable.SuspendLayout(); @@ -729,7 +729,7 @@ this.toolStripDropDownButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton1.Image"))); this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripDropDownButton1.Name = "toolStripDropDownButton1"; - this.toolStripDropDownButton1.Size = new System.Drawing.Size(45, 20); + this.toolStripDropDownButton1.Size = new System.Drawing.Size(45, 21); this.toolStripDropDownButton1.Text = "帮助"; this.toolStripDropDownButton1.Visible = false; // @@ -1165,7 +1165,7 @@ this.水平面积ToolStripMenuItem1, this.地表面积ToolStripMenuItem1}); this.量算ToolStripMenuItem.Name = "量算ToolStripMenuItem"; - this.量算ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.量算ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.量算ToolStripMenuItem.Text = "量算"; // // 水平距离ToolStripMenuItem1 @@ -1228,7 +1228,7 @@ this.前进ToolStripMenuItem, this.后退ToolStripMenuItem}); this.编辑ToolStripMenuItem.Name = "编辑ToolStripMenuItem"; - this.编辑ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.编辑ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.编辑ToolStripMenuItem.Text = "编辑"; // // 平移对象ToolStripMenuItem @@ -1304,7 +1304,7 @@ this.绕中心点飞行ToolStripMenuItem, this.绕眼睛飞行ToolStripMenuItem}); this.飞行ToolStripMenuItem.Name = "飞行ToolStripMenuItem"; - this.飞行ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.飞行ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.飞行ToolStripMenuItem.Text = "飞行"; // // 自定义飞行ToolStripMenuItem @@ -1349,7 +1349,7 @@ this.属性标注ToolStripMenuItem, this.标注管理ToolStripMenuItem}); this.标注ToolStripMenuItem.Name = "标注ToolStripMenuItem"; - this.标注ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.标注ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.标注ToolStripMenuItem.Text = "标注"; // // 标高标注ToolStripMenuItem @@ -1436,7 +1436,7 @@ this.关联查询ToolStripMenuItem, this.关键字查询ToolStripMenuItem}); this.查询ToolStripMenuItem.Name = "查询ToolStripMenuItem"; - this.查询ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.查询ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.查询ToolStripMenuItem.Text = "查询"; // // 空间查询ToolStripMenuItem @@ -1522,7 +1522,7 @@ this.附属物分类统计ToolStripMenuItem, this.标识器分类统计ToolStripMenuItem}); this.全区域统计ToolStripMenuItem.Name = "全区域统计ToolStripMenuItem"; - this.全区域统计ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.全区域统计ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.全区域统计ToolStripMenuItem.Text = "全区域统计"; // // 管线长度统计ToolStripMenuItem @@ -1601,7 +1601,7 @@ this.附属物分类统计ToolStripMenuItem1, this.标识器分类统计ToolStripMenuItem1}); this.绘制区域统计ToolStripMenuItem.Name = "绘制区域统计ToolStripMenuItem"; - this.绘制区域统计ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.绘制区域统计ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.绘制区域统计ToolStripMenuItem.Text = "绘制区域统计"; // // 管线长度统计ToolStripMenuItem1 @@ -1675,7 +1675,7 @@ this.道路断面分析ToolStripMenuItem, this.基线剖面分析ToolStripMenuItem}); this.断面分析ToolStripMenuItem.Name = "断面分析ToolStripMenuItem"; - this.断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.断面分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.断面分析ToolStripMenuItem.Text = "断面分析"; // // 横断面分析ToolStripMenuItem @@ -1717,7 +1717,7 @@ this.连通分析ToolStripMenuItem, this.爆管分析ToolStripMenuItem}); this.拓扑分析ToolStripMenuItem.Name = "拓扑分析ToolStripMenuItem"; - this.拓扑分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.拓扑分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.拓扑分析ToolStripMenuItem.Text = "拓扑分析"; // // 创建拓扑ToolStripMenuItem @@ -1779,7 +1779,7 @@ this.隐藏隧道ToolStripMenuItem, this.删除隧道ToolStripMenuItem}); this.开挖分析ToolStripMenuItem.Name = "开挖分析ToolStripMenuItem"; - this.开挖分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.开挖分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.开挖分析ToolStripMenuItem.Text = "开挖分析"; // // 多边形开挖ToolStripMenuItem @@ -1831,27 +1831,27 @@ this.可视域分析ToolStripMenuItem, this.可视包络分析ToolStripMenuItem}); this.视域分析ToolStripMenuItem.Name = "视域分析ToolStripMenuItem"; - this.视域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.视域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.视域分析ToolStripMenuItem.Text = "视域分析"; // // 通视分析ToolStripMenuItem // this.通视分析ToolStripMenuItem.Name = "通视分析ToolStripMenuItem"; - this.通视分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.通视分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.通视分析ToolStripMenuItem.Text = "通视分析"; this.通视分析ToolStripMenuItem.Click += new System.EventHandler(this.通视分析ToolStripMenuItem_Click); // // 可视域分析ToolStripMenuItem // this.可视域分析ToolStripMenuItem.Name = "可视域分析ToolStripMenuItem"; - this.可视域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.可视域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.可视域分析ToolStripMenuItem.Text = "可视域分析"; this.可视域分析ToolStripMenuItem.Click += new System.EventHandler(this.可视域分析ToolStripMenuItem_Click); // // 可视包络分析ToolStripMenuItem // this.可视包络分析ToolStripMenuItem.Name = "可视包络分析ToolStripMenuItem"; - this.可视包络分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.可视包络分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.可视包络分析ToolStripMenuItem.Text = "可视包络分析"; this.可视包络分析ToolStripMenuItem.Click += new System.EventHandler(this.可视包络分析ToolStripMenuItem_Click); // @@ -1862,34 +1862,34 @@ this.缓冲区分析ToolStripMenuItem, this.无源淹没分析ToolStripMenuItem}); this.区域分析ToolStripMenuItem.Name = "区域分析ToolStripMenuItem"; - this.区域分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.区域分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.区域分析ToolStripMenuItem.Text = "区域分析"; // // 附属物分析ToolStripMenuItem // this.附属物分析ToolStripMenuItem.Name = "附属物分析ToolStripMenuItem"; - this.附属物分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.附属物分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.附属物分析ToolStripMenuItem.Text = "配件分析"; this.附属物分析ToolStripMenuItem.Click += new System.EventHandler(this.附属物分析ToolStripMenuItem_Click); // // 缓冲区分析ToolStripMenuItem // this.缓冲区分析ToolStripMenuItem.Name = "缓冲区分析ToolStripMenuItem"; - this.缓冲区分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.缓冲区分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.缓冲区分析ToolStripMenuItem.Text = "缓冲区分析"; this.缓冲区分析ToolStripMenuItem.Click += new System.EventHandler(this.缓冲区分析ToolStripMenuItem_Click); // // 无源淹没分析ToolStripMenuItem // this.无源淹没分析ToolStripMenuItem.Name = "无源淹没分析ToolStripMenuItem"; - this.无源淹没分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.无源淹没分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.无源淹没分析ToolStripMenuItem.Text = "无源淹没分析"; this.无源淹没分析ToolStripMenuItem.Click += new System.EventHandler(this.无源淹没分析ToolStripMenuItem_Click); // // 清除分析ToolStripMenuItem // this.清除分析ToolStripMenuItem.Name = "清除分析ToolStripMenuItem"; - this.清除分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.清除分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.清除分析ToolStripMenuItem.Text = "清除分析"; this.清除分析ToolStripMenuItem.Click += new System.EventHandler(this.buttonItemClear_Click); // @@ -2170,12 +2170,12 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel12); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); - this.ribbonControl1.Controls.Add(this.ribbonPanel6); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; this.ribbonControl1.ImeMode = System.Windows.Forms.ImeMode.NoControl; @@ -2244,6 +2244,7 @@ this.ribbonPanel12.StyleMouseOver.Class = ""; this.ribbonPanel12.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel12.TabIndex = 34; + this.ribbonPanel12.Visible = false; // // ribbonBar18 // @@ -2731,6 +2732,76 @@ this.buttonItemPasswordReset.Text = "重置密码"; this.buttonItemPasswordReset.Click += new System.EventHandler(this.buttonItemPasswordReset_Click); // + // ribbonPanel4 + // + this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel4.Controls.Add(this.ribbonBar1); + this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel4.Name = "ribbonPanel4"; + this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); + // + // + // + this.ribbonPanel4.Style.Class = ""; + this.ribbonPanel4.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel4.StyleMouseDown.Class = ""; + this.ribbonPanel4.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel4.StyleMouseOver.Class = ""; + this.ribbonPanel4.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel4.TabIndex = 36; + this.ribbonPanel4.Visible = false; + // + // ribbonBar1 + // + this.ribbonBar1.AutoOverflowEnabled = true; + // + // + // + this.ribbonBar1.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar1.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar1.BackgroundStyle.Class = ""; + this.ribbonBar1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar1.ContainerControlProcessDialogKey = true; + this.ribbonBar1.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.btn_document_info}); + this.ribbonBar1.Location = new System.Drawing.Point(3, 0); + this.ribbonBar1.Name = "ribbonBar1"; + this.ribbonBar1.Size = new System.Drawing.Size(88, 59); + this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar1.TabIndex = 0; + // + // + // + this.ribbonBar1.TitleStyle.Class = ""; + this.ribbonBar1.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar1.TitleStyleMouseOver.Class = ""; + this.ribbonBar1.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar1.TitleVisible = false; + // + // btn_document_info + // + this.btn_document_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_document_info.Image"))); + this.btn_document_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_document_info.Name = "btn_document_info"; + this.btn_document_info.SubItemsExpandWidth = 14; + this.btn_document_info.Text = "文档管理"; + this.btn_document_info.Click += new System.EventHandler(this.btn_document_info_Click); + // // ribbonPanel15 // this.ribbonPanel15.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -2756,7 +2827,6 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; - this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3211,76 +3281,6 @@ this.buttonItemXT4_2.Text = "人员修改"; this.buttonItemXT4_2.Click += new System.EventHandler(this.buttonItemXT4_2_Click); // - // ribbonPanel4 - // - this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonPanel4.Controls.Add(this.ribbonBar1); - this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); - this.ribbonPanel4.Name = "ribbonPanel4"; - this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); - // - // - // - this.ribbonPanel4.Style.Class = ""; - this.ribbonPanel4.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonPanel4.StyleMouseDown.Class = ""; - this.ribbonPanel4.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonPanel4.StyleMouseOver.Class = ""; - this.ribbonPanel4.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonPanel4.TabIndex = 36; - this.ribbonPanel4.Visible = false; - // - // ribbonBar1 - // - this.ribbonBar1.AutoOverflowEnabled = true; - // - // - // - this.ribbonBar1.BackgroundMouseOverStyle.Class = ""; - this.ribbonBar1.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonBar1.BackgroundStyle.Class = ""; - this.ribbonBar1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar1.ContainerControlProcessDialogKey = true; - this.ribbonBar1.Dock = System.Windows.Forms.DockStyle.Left; - this.ribbonBar1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.btn_document_info}); - this.ribbonBar1.Location = new System.Drawing.Point(3, 0); - this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(88, 59); - this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonBar1.TabIndex = 0; - // - // - // - this.ribbonBar1.TitleStyle.Class = ""; - this.ribbonBar1.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.ribbonBar1.TitleStyleMouseOver.Class = ""; - this.ribbonBar1.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar1.TitleVisible = false; - // - // btn_document_info - // - this.btn_document_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_document_info.Image"))); - this.btn_document_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.btn_document_info.Name = "btn_document_info"; - this.btn_document_info.SubItemsExpandWidth = 14; - this.btn_document_info.Text = "文档管理"; - this.btn_document_info.Click += new System.EventHandler(this.btn_document_info_Click); - // // ribbonPanel1 // this.ribbonPanel1.AutoSize = true; @@ -3440,7 +3440,6 @@ // ribbonTabItem11 // this.ribbonTabItem11.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem11.Checked = true; this.ribbonTabItem11.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem11.HoverImage"))); this.ribbonTabItem11.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem11.Image"))); this.ribbonTabItem11.Name = "ribbonTabItem11"; @@ -3481,6 +3480,7 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -3841,14 +3841,14 @@ this.dataGridViewX1.AllowUserToAddRows = false; this.dataGridViewX1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; this.dataGridViewX1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle23.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle23.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle23.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle23.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle23.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle23.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle23; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(0, 5); @@ -4124,14 +4124,14 @@ this.dataGridViewLineList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn19, this.dataGridViewTextBoxColumn20}); - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewLineList.DefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle24.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle24.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle24.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle24.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle24.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle24.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle24.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewLineList.DefaultCellStyle = dataGridViewCellStyle24; this.dataGridViewLineList.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewLineList.Location = new System.Drawing.Point(9, 155); this.dataGridViewLineList.Name = "dataGridViewLineList"; @@ -4219,14 +4219,14 @@ this.dataGridViewTextBoxColumn24, this.dataGridViewTextBoxColumn25, this.水平净距}); - dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewAnalysisResult.DefaultCellStyle = dataGridViewCellStyle3; + dataGridViewCellStyle25.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle25.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle25.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle25.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle25.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle25.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle25.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewAnalysisResult.DefaultCellStyle = dataGridViewCellStyle25; this.dataGridViewAnalysisResult.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewAnalysisResult.Location = new System.Drawing.Point(8, 310); this.dataGridViewAnalysisResult.Name = "dataGridViewAnalysisResult"; @@ -4461,21 +4461,21 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn10, this.dataGridViewTextBoxColumn11}); - dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle26.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle26.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle26.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle26.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle26.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle26.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle26.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle26; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(12, 127); this.dataGridViewX2.Name = "dataGridViewX2"; this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(26923, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(27517, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -4555,21 +4555,21 @@ this.Column6, this.Colomn12, this.Column5}); - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX3.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle27.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle27.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle27.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle27.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle27.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle27.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle27.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX3.DefaultCellStyle = dataGridViewCellStyle27; this.dataGridViewX3.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX3.Location = new System.Drawing.Point(12, 272); this.dataGridViewX3.Name = "dataGridViewX3"; this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(26922, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(27516, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -4813,14 +4813,14 @@ this.dataGridViewX8.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn12, this.dataGridViewTextBoxColumn13}); - dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle6.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX8.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle28.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle28.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle28.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle28.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle28.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle28.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle28.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX8.DefaultCellStyle = dataGridViewCellStyle28; this.dataGridViewX8.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX8.Location = new System.Drawing.Point(10, 120); this.dataGridViewX8.Name = "dataGridViewX8"; @@ -4908,14 +4908,14 @@ this.dataGridViewTextBoxColumn16, this.dataGridViewTextBoxColumn17, this.dataGridViewTextBoxColumn18}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX9.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle29.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle29.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle29.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle29.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle29.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle29.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle29.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX9.DefaultCellStyle = dataGridViewCellStyle29; this.dataGridViewX9.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX9.Location = new System.Drawing.Point(11, 271); this.dataGridViewX9.Name = "dataGridViewX9"; @@ -5191,14 +5191,14 @@ this.dataGridViewX4.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn1, this.dataGridViewTextBoxColumn2}); - dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle8.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX4.DefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle30.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle30.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle30.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle30.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle30.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle30.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle30.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX4.DefaultCellStyle = dataGridViewCellStyle30; this.dataGridViewX4.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX4.Location = new System.Drawing.Point(7, 84); this.dataGridViewX4.Name = "dataGridViewX4"; @@ -5276,14 +5276,14 @@ this.dataGridViewTextBoxColumn4, this.Column3, this.Column4}); - dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle9.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX5.DefaultCellStyle = dataGridViewCellStyle9; + dataGridViewCellStyle31.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle31.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle31.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle31.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle31.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle31.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle31.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX5.DefaultCellStyle = dataGridViewCellStyle31; this.dataGridViewX5.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX5.Location = new System.Drawing.Point(7, 225); this.dataGridViewX5.Name = "dataGridViewX5"; @@ -5477,14 +5477,14 @@ this.dataGridViewX6.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridViewTextBoxColumn5, this.dataGridViewTextBoxColumn6}); - dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle10.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX6.DefaultCellStyle = dataGridViewCellStyle10; + dataGridViewCellStyle32.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle32.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle32.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle32.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle32.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle32.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle32.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX6.DefaultCellStyle = dataGridViewCellStyle32; this.dataGridViewX6.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX6.Location = new System.Drawing.Point(8, 111); this.dataGridViewX6.Name = "dataGridViewX6"; @@ -5561,14 +5561,14 @@ this.dataGridViewTextBoxColumn7, this.dataGridViewTextBoxColumn8, this.dataGridViewTextBoxColumn9}); - dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle11.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle11.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX7.DefaultCellStyle = dataGridViewCellStyle11; + dataGridViewCellStyle33.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle33.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle33.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle33.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle33.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle33.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle33.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX7.DefaultCellStyle = dataGridViewCellStyle33; this.dataGridViewX7.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX7.Location = new System.Drawing.Point(9, 262); this.dataGridViewX7.Name = "dataGridViewX7"; @@ -5790,8 +5790,8 @@ this.ribbonPanel5.ResumeLayout(false); this.ribbonPanel6.ResumeLayout(false); this.ribbonPanel2.ResumeLayout(false); - this.ribbonPanel15.ResumeLayout(false); this.ribbonPanel4.ResumeLayout(false); + this.ribbonPanel15.ResumeLayout(false); this.ribbonPanel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.panelOfTable.ResumeLayout(false); diff --git a/MainFrm.resx b/MainFrm.resx index dd1052e..652064d 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,7 +351,7 @@ 766, 54 - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -362,30 +362,40 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjEwQ0IxNzBBNEM1QzExRTRBNkNGQzRBMjhDQzI0 + MkY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjEwQ0IxNzA5NEM1QzExRTRBNkNGQzRBMjhDQzI0 + MkY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTEzMDNDMjA1QjRDRTQxMTg4NERE + MUVBOEQ4QTgyNTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz43wa2/AAAFaUlEQVRIS6WUC0xTVxzGKy0UkSmlFGjBFilSkNpSaAWRh63y + sIiAArKs4spLRLQoiEJlSMGoMCc6CBOnYHzMOHUqqOhEHOqCbjNu6kCd6KYje5mZ6KbObd/OuVL3cEzj + /skv997/+b7v39PTW9aj3/BM+OKxPEIZoW/gyrOuPbP+GvRPSNBQQqXYLwSW1etw7cYt5kqfaZ+uD8QM + Xg8f/f4UxGhHMHv4qlG6vAb9394G6T+BPpdV1oCuUx3VD8Q9XT8//PUJRMghlLhLg1C41IK+r/pB+oNC + 16mO6qmP+gdi/6y793+hwTYEk9uoQOSaStHzxQ2Q/nND9XMKy0D9NIfmDcSzaLhI4KXE7LwinLtwGXfu + PXhhqJ/m0DyS62EdUGWpqcf3P97DD3d++t/QnKraBjpghXWAiC+WN0ZNScOe1mP45vbdF2ZvWwdoDs/D + b6ejs6ecxHPoAG/l+Fhkzy+FyCcY0YkG7D/yAW5+d+e5oXrqo36aQ/McnNyjyAAuHWA05pfgzPlehhyT + mflV6FOMaDt2Ctf7bw8KXac6qqc+a4Zx3hLwRLJCZgcJjcPIEPkyIZmeX1SB7vOX0dn9KQy5jw8r8eVc + HOrsxidXP0d9hxlzd4QgeYMzEt7kQVvOR0pFFNpOHmd81E9znIS+dSTc1foVGWfNKUZjyy6Ex6SQl0cD + 09IVxHAFh0+cReqr+QjK8ERqEw+VHWOwoycSR/v1OHwzDlsvhcNCeqkbedAYxQiPm87kZOQVw0nkW0QG + 2DFnIA+JRm3DFpzr/RKNW3ZDE5UAsX8ocizZiFs7DEUHvPFunw4Hb05B+y09jn49lYHe0x5doxqqLVlf + DJrnyB+pIQNs6QAhf6R8tZu3CqpwPdZu2I6PLl3HwnV5iHv9JVSeUOKdqzq81xeDvddiYG73R0aLEIZm + IRa1jUbjxQnYRHa17YqW0VJPwHT3LocRbirrDiymspXo6L6AgiXV8JSNQ2i6GpNWOqK4U4n1n0Vge68W + 9ecmIKnBBSqDCIp4P2RWGDB/QxqS6l1QcToIld3BqDobgsXEQ73+Se5HrGcgdJEokGzIx66DXXi7dRvC + yx2Q2RqApR+GoPbjCag8pUZ6sxjqWRKEldljRr07ZjaKmHt5qpBZKzkeiIJ2BbIPKmA8MIbJUC/ghrM0 + RfYsDtdhqJNIVulK/ku0BQokbfZGZrsKBR3BmEsMOfvl0FY7o7ypDPo1brCcGc+QUCdExabXEFsjQO4B + ObL2BSBlqx8SWwibvBE0334nK3Ael+yEbIW81DZszlhZ2oieuAYvpO5VIHGzP9J2+CN9pz/CzDwExMox + eZUbFnZpkEc+gLZagJjMWOiqXZDVqmC0+kZf6Nb4IHKFCPIsu92sgCw7BlJswjBJLCdenmuPyFUS6Gp9 + oG/yRdJWGSKqhYjKDgLRImK5ACGlzsy9d/zwXn2DBMZDSkZLPaHlnpBncyGO5kxj+Rps/wYdJE2xzfOb + zcU4sye0b0gRu3E0Ypt8ELTICRFGNcShUgjHuZyWxNu2096sdiXS9o1ltNQjyyDhes4SkuXEGpXC+Ve8 + kjlzpDPtoCkVQrdOihgyIHmXP6LryGEX86Ba6ISJNR7IeF+JV8gAfbOM0XoTj8dktpmEOxM4rJHTBscz + njNNnMiBagEfU98ajRnbZMg7GojCk2oGU1cw5nUGw7BHAZWJD6oVhLFzSDCPCacljGP/J7xAm6Hu0ew6 + STIXkcvckN7ig8XHVCjvUiNvdwAmW0Twms6FayS7meM4REoihxPoeT4u10nsZ0LKhhdsIxZEsVcLtOyL + pHffVcd+IJjI7uGHsRscJEPURMMn2FMtNTwuFusPrjFl48ji7nIAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -396,32 +406,32 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUyMTg3NjEyNDlEODExRTQ4NjNGQjM2Mzk1QkNB + RkQwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUyMTg3NjExNDlEODExRTQ4NjNGQjM2Mzk1QkNB + RkQwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkJCNTE0NDlEODQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5e5MstAAADiUlEQVRIS+2UW0yTdxjGcePwtYyVVpAUCi1tv9ImrVbxhAei + kjGphAgFT4jzEJ0gGuJhDk0sml0sglmWmC1hqHNKWwI4srgNh3phpjg1O1yIN5DMbFHQZUu42O76+D4f + 3Fl6Z7ILn+SXvH3f533++X/98iUBeKW81v9Uwx1G1+1240EhfKfdeE/4U3qTAqaZZO/2aeN9IXLrY+Ph + wVOZHll9YyohgYZOGS4JsYdXVDy+NQ8Tvy3BP6OlmPyjDP9OBDRYs8cZPfRy5/uQISIRqcIsLSye+j7I + wN+PluOvhyWY+NmL8fsOjP9kxdN7BRh/YJHfFjy5m48nd4ThQjy968bEgwV49usicFciTEKKFhZPXXv1 + eHxtLsYGPBjttwsWjF0xY+ybOfj9uylYs8cZPfQS7kpEnqDTwuLp9GYlfKZeifUfzcb1j/Iw/IkNv3Q6 + MfKVC6O9bg3W7HFGD73cORlMG5AIizDzAaVtunD5ESXWfNSEY/tNCO00oG1zOkJBBSeqUjVYh6R3Qmat + zSY0Hjah7IASW7hPuSoRvIGihcVTSauCppvFODRUjJZvPWgaKMTuXgt2RHOxLTwHDd3EjPfCudgesWJX + jxM7eryo7/Ni8SGFj8gp6LWwePLvS0Og043A5y5UdtkQOJeLivM5ePf8bJSfM04zG2u7chDoysW6Thsq + zqpY0+GAvymNB/gEgxYWT64tKdGihpSYv8WEpSEzVp0pwDuf2SVQReCiS4M1e5zRQy937NXJ1yRirjDz + AVmVJyNZa9+PObauh7ptKdR6FY6N2SisTYe1OlmDNXtqvRNqwxLYt1TCVLY1ZijZOSQRbuEtLSyeTOXH + sfLDH1EauoFFx6/Cd6Qf7pYI1ObLsO+9iMLdF+DccwEuqd2Nl+Br6sbCxiiKd/XBuPogH1HiAzJXHMC8 + YA98td1wb4rCuaEH1roo8oMR5JGaMPIFa10Ejtowiuouw1vzJTwVXyBz+X4ekPgRZfgbohkLtsfMy47B + tqYdakUnPFUM6YUv+LUGa/Y4o8e8rBXcSffWDkpE4j9ZpEvNmb9KsZV16BzrBnVq1YjeVf1MX1Tzn74o + iCmkdq1/LrNHOkfgB6Vg9afJRrVOdv2ClRkMmklvCnyPs4V8ge81v5RegddnCGHNHmf00JslcJcZCcWv + IU1pAhcyhLcFXj1zGtbscUYPvdyZ+Uv6Wi8rKekFBjoX2627by8AAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -432,22 +442,24 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC - RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo - KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O - 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd - rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o - 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C - s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE2Q0VGMDE2NDlEQTExRTQ4NTlCQTI3NTMyOEY5 + NEU2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE2Q0VGMDE1NDlEQTExRTQ4NTlCQTI3NTMyOEY5 + NEU2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjA1MjM3NzFEOTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6UH16BAAABrElEQVRIS63N70tTURzH8fsnKSGCCEIQCBKISMq2iILCgQOL + JUxQAoVKdMGQuwgWFepsMGjFZCMuorsIJV4WFatpvzdr1ZAFsaIHn8559v1eDsI91wevJ/ee7/tjbMRH + fAFwJOWRF6oopTzyQhWlVEdBwRbgUhICAnuvilKGtXDGzW6WV/CvbjE/xTfxr+R6q4xSxtP5YTf8rVn4 + s5dG+809Rv5zvVVGKaNwfYgyBfhksoH83CCF9seiL7LBBnLXTlP4/W4dza0ZLS0nCdlgA9npAQq/qk/Q + sKa0NJ8nIBtsIBPrp9CqPMJBYVLLj+04ZIMNrF49ReHwVRafH1/R8m3zJmSDDdy/fJJC88Ua3mcjWurW + LGSDDaQifRS+O8uopsNaPhVnIBts4E64l0Jj5y4qDy5q+ZCPQTbYgHmph8LXZ0m8TJ3Xsp+LQjbYQOJC + N4XadgLl22e1vM1OQDbYwK1zXRS+lBbhmEHsLgU8kTeVh+OQDTawEDpB2U4mitfpMS22GYJssIH5QCcV + FGwBmuRtkA3cGO3whcZUlEdeqKKU8sgLVZRSfjw+MP4DJ2GPpDR9OIsAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -458,362 +470,25 @@ cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI - jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs - FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm - LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml - CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV - hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q - bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX - YCSg/AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL - SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 - 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P - zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 - 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj - L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 - RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf - nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P - 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj - ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G - xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H - dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 - LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob - gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 - ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi - UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd - XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 - 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN - jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF - Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn - ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 + 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f + 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 + uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 + SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD + bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 + 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG + TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX + 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj + p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY + RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB + lh7gOXXZq9sAAAAASUVORK5CYII= @@ -1063,51 +738,7 @@ 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjEwQ0IxNzBBNEM1QzExRTRBNkNGQzRBMjhDQzI0 - MkY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjEwQ0IxNzA5NEM1QzExRTRBNkNGQzRBMjhDQzI0 - MkY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTEzMDNDMjA1QjRDRTQxMTg4NERE - MUVBOEQ4QTgyNTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - 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 @@ -1119,24 +750,29 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZCNzIxMDY4NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 - QTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZCNzIxMDY3NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 - QTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6N9zpwAAAB70lEQVRIS7WTTShEURTHZyIfk0zRlPKxs7SwsZWFvSQbC0lW - CsNuMMjK9+4tWKAksbCxsWIjipIis3gWhpSPhZTkq+Oc+8697ntz53mFf/3mzDvn3P9/5r2ZEAD8K8bm - X2Js/iXOi4+2qqIWAsgpV4tHvgocsFlZDA8byyDq+pKoPPJV4IC18iK4XV0AUVfmReWRr1wBi2URC4Fs - 3MzPcZ3NmHlQt88VYMUKID0zBunpUUhPJh3oWvamRkDsTCQh1deJPeoj2Kee3KUd9ncHTJfkgT3YC/ZQ - H9jJ/m8SPWAPx8V7sYP1pL3Z6cldek9nEdphf3fAeDTXQiAbB02Nop7FuzJmOoni3GX2/5ZI8VGiKAd2 - G+qA6nFHq6g8CqafAgYiYQuBeCScotpdGBafsrSqxkJAw/z/+Ckgm8j0/RMUdM0jt34T8PL2oeCAfGeq - iQKy4ScyfHp+VXBAzJlqMhlLdKGB957D/eOzwjtDnGdiMpbookPXd4+BoX1x0GQs0UUH7Kv7wHBAvtFY - oosOnF7cBIYDYkZjiS48kPEMjs4vFd5ZtKx6G49VGI0lBtGvpB5pIZO9E1tB19hvoxlDe8G/AYt+5xRS - QYY7hykFB9TSjKG94M/AKzLc3j9TcAAZu2UylvgJDV3PRN1zl0KhL06k1hGgG+rkAAAAAElFTkSuQmCC + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1148,37 +784,30 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBCREI4OERDNEFENjExRTRBMDIyRjhCMTI2OTg1 - QzRCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBCREI4OERCNEFENjExRTRBMDIyRjhCMTI2OTg1 - QzRCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjY3NUQ0QkNENDRBRTQxMTk3NEFD + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5EAI7UAAAEwElEQVRIS6WVf0yUdRzHv/f7nueeu+cO4UQEIdnNarXUyLUa - IqdOJggklBBuYoDGLw8UFJWTmBYYDEFQiARJgakJOAQHVF5UgIgobYkFRDFdNPgjx3LFr/v2+VzHI9gP - 2fhsr32ez4/n/eX78Pnel/QUOSyIp1p3gcNCkXflOxy6le8wCM8T8Hznq+O6CJCWAiJy84RuIbCdebqW - weYX6J1SZ3ojTzcCOWvfFQP9MlubCwvISUeubt60fagLb8/RdX6SrHGpTtVw8Px5f+Pz1JKlbYz3Z9aA - oGv6NpU37KDv3uXltO4wH0W+Pq6dF61Z2h3gp1qztQ/MYewKiC0/1D9HmzL5CoVM5AriekADsEXvcmu6 - ivX0+gfau8TyPv9UvjjKvwN+6vox/n5GOGtszuTbemtX0Aazptwu7ggwgBgQARLo/Q2YJC2Z/P/SlMFH - gZ9ufo8fyghjjQ1mvqOn2oPWpM0RV9qFbdZo5g3wjvXaEX4QAs1/cjVdEwPe2pCu+flgCGOsO6jp7D7n - Ti+kqM/IpUQQr9qr1kOf5G9xjRx2Zrld7UnLE7lMciVN/a/UHVDvBm8F/1NqMGO8lKK+eeOMG61M4krt - 4otQvPaAOgD6/oS6OdJXoapLU9d0nVtOL+zjruo4kTu5lML9g4v7uHjwVvCDyVuUxqokruubYldaFq86 - DaJLZ8RBJBj6xi+mcKOZYYyxOpmrby/3oOdNXJ2eF7tDjyOpMnFzqNzDJYK3gh9I3Kz0rUjgui0FS2nx - LtWp2eLn93BboW+80sSNpAYxfuVxqqbWIjdaFqeq1alEy6DHCWDI2TiVQHmsygTeWhar6o9cp3jt492q - 7pbcJfTkTrZwlrgC6qEB3u7Ti5a9SGcI8zfQ4hi2RjtbHKeqdBdr46MY1gTeWhLN9gV5yVblbGeyPst1 - ofmRzFloFMRLYtg3oW8CRSenqQDGWtYmPntkCSnaySArgcnCSGY42EvmBWnngh1Ma1mChga+LHsFYvyL - lCcjmbfsfb+i4B8TUwIYQ48L8Fgc7cR2JcmLUFZ+mq6n+wMUMZBaAqhzwpXF9UedqTlYkbHaQ7I4921l - IvROQe9w1Dr5RhQcezQuYF8Ap+uxONrxMCUymr1NOcLIbVvUAdK4DXI95IYuH9ZTqFtD/QzC955h9OEj - gSdrAE4cIcdCFMhk5huKHghxiyyAp1Ic7SMzmAMV1VDrxZcejDycN9gPGoRkBMnJkUB5LzDmqRc/Aykl - 5hAwPJ0qwBFfGLg/Om/sCyjIIX8Z2e8nS6mId6BJG2UlkOQAEebtJo54VWpb4Lsff5k39gWcUJwYn5Uw - KZtk7fBsNa2XFUKMd6EIYhHkN4HvDzR6znxbgVv3hgSerPHOhmbQcCV7N+DNRkQhqyUuJqO0owx2Arnf - k9dLb4Mfzo/mMbbGrpWeEovIS9C7BQhHkbZvBwQwhjxelaF2fAAnYvKV2gATG/QiPvp1aVqCj7QXcpPA - WNxa6bWQlZKtUMfDhiOMo+iGgpau7wXsC6yy1xE8OwqS4CMRAMMZxt92HNXFAE4VimIz3lb4n7f97qNg - c8ddAfsCKDzXYr0lcwBDAdySAsBTiQuiMBaFSwUET6PoDMI3n2OE/AXV7wtcYQSjewAAAABJRU5ErkJg - gg== + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1190,30 +819,96 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk0MDA4MTVGNEFENjExRTRCNjgzRThBMjlFMzdD - NDk4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk0MDA4MTVFNEFENjExRTRCNjgzRThBMjlFMzdD - NDk4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjk3NUQ0QkNENDRBRTQxMTk3NEFD + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7U3Gz1AAADLUlEQVRIS7WTa0gUURzFV4mKMqVC0XytgabkmiauZOKDwlQk - wswiycAPGoVSFmRFJC0tQX5Ii4VAc9V87KqhGdima33wQSZWoilqaa1u66qwGSKleZo7OzOM4/gI6sDv - Mvfe//8cZu5cCYD/ivgiT889HFQUYFAxy5zE+vnQw8Lc6xWpc7fHVE0ZprRqkGexGoLQmIUexBpYNK7b - YC57BHNlIcizWA1BaMxCD2INLGWudvj2+AFGFDkoddn67wJayo9W1OT5j2py96A+Lxh1dwOhveULar1S - rF5ozEIPwuLmkriapqKQyZmJ04tzllNgoebQq0OnmtWxNcIeoTELPfAL9er4quaikKnZ6ROUYRLaNRFo - vB+MztpDmDGfBFnXF4dONxfHafh9QmMWeuAXahXeXy3jx/FjIhHlV71QnhmEzpyz0Ocepuffxw/A/Dke - WoWPgfpLbf82wLbq5m7jjCkBfU1RaMwNR3tqErpSE9ESLYfuRjjeP5PDNLwfpC72SOgm621YRcKAyhxP - o8UQg6aCvSg8E4CLW2yQzVCaHoCOUjmM/f4gdZERgZsZm5W1LOCym3F6JAJ9tb7QKaNg0qitF626DE3K - aAzpwmHokSEh0md2p4cMPJbdclqCAInminRwVCdfNPZIUZHhguoML7TlJ0N3OwJ1l6SYGJDjXaXvIjGd - /w0OMmcsl0oYoM+PKa664GIabtgFQ7cnPhbI8OaODP0PA2Hs3YeBlzJUnHc2EcO5XwscTMDyMxEGEBqV - B7VPMpwMrVnO84MNfhh64YeBel+0XvcBtT7WoAh7SgxnZn9yMAGOVleexAIILflx9zRZ0u6SlB3QpLvj - WJgP+605Ji2zHMI9CuuZrBRAoGSj3L4Rvdnn6KYxs2XdkPr1BEhy7TegNzONbhg2TK4bJmDTmgHX7GzR - nZZMN/R+Mq4bJsCRDhDCF3XBVOSShTm50k18uvq/cAj3HJy9dVS725oBApG/JJIiiZi0fRjmIHNqPYXs - MZC6td9AIPKfkxA3Yvjq7QAHExBE9hhInfUMVmI1EUNdRx8HE0CMl0rMmGU1UYYqYsrCffMlkkj+AEZF - 7H7+T6nEAAAAAElFTkSuQmCC + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1248,7 +943,7 @@ A2MdqQeVc5pWAAAAAElFTkSuQmCC - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -1282,704 +977,7 @@ SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU3QTU3RDNFNEFBOTExRTRBQ0FFQkQxRTZFOTNF - OTIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU3QTU3RDNENEFBOTExRTRBQ0FFQkQxRTZFOTNF - OTIzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUI3Qjg1NTlBNzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz70M76IAAAENElEQVRIS52SDUxVZRjHD/SBcFOZSgoqKWQQBhjyofdaQQp3 - E+d0Ko4xW8221kLKRC4QRUCJERKklAXEx4UNYYDJh7guAy4IXTTSGyhfFxQklitNZzmD+ve87+WcLnBc - jHf77T3v857n9z/nvEcAMCfG/zYjt2eJbHE2yAUsdvbcSzSxWaxJN84GanyUOMBmsWYhj/d9IRT6tgvw - DAgGrQ/xgAfj/8waJj+ccARPrvZmgkBWk+QvhuLayBiohl7TdTFkt3D/rwnpKf4PamhppicsO10nhgQR - 7zH54PAoyCWha25j+w3CvfvjsjI5WEBj6wVQD05VmUPYZxm4NsprIj0D1+G9UW1+gzt/PJCVycECGvQG - UA+nqlaH3sERac3o7huC14YQJo9hPcKtu3/KysRR47xwP3GRuFPpbD9R4+aIxhAlruZ9DeqdgvHqAMn5 - t+dy7rl5+94MOd+gcXrlgmPVnqtw6bOjMGnzMKTNgakoB5cyP0GNtws64qNB/ZzOrj7xYA9P8fz8690p - YpHy5fPfqiL5YOFXMGaloWbzBlSsWYaaQH8YM9MwlH8SVV4u+OF4FsiBkoo6LHP1YQFqS48w/MvtKWKR - YkdFV0dqMrqz0qF1VPyevdQuedVK947yg2+j1G05DImxMHyciErVOpCDU1RWLYaEih5hcPS3GXJG3lK7 - CVNmKip3bkWWg20m+2TU2FJZ1wRdvAYlgQEwxkXhG8cnQA6JorJaOJpDbJhH6Bu+yRrnEzGESeSEwzz0 - pb6PXC9X+DmtHpusR7v5BGLHcz4oUK7D5cjXkE33sb/GkhXP+LEABQ+4MjjGAmIOaFKga+2UyHBQ4MeE - Q/hiow/yI8J5TRW8izX6Ji9WFGq3q2F45w2kL7IZp5rLNLicBxj7b/A3WPKUFz7KoAPtv8HJ3aaGdvd2 - nN21FUeW2KJ4/6uIWB+A6EWKiqNO9mg/+Cbyt4Xgw4WP6fgvR0OUWiJ09gzzCwrxYiFJn34JqqEutwCJ - 9o/jZJAS1XQOn7+kRNrzHjgeqETD6/tQHhGGD2g/UvFI+KR/hpwhdHQNSQsKiV3rH4zWzl5QHcWaOCQ9 - 7YwEd1eU7t2Bij07+Zyu8keMwnok0s46hbxWZv1DAtoum/gFk3v4bcG3uu9BNYn6qnpkv7IPcSscELXA - BlF21rciba0KI+ZZqSa90pguZwj6zn4mj2PyinPtoLXEd+1dU9ab1GHskDdN+mYM2QBqCGfy8vrzaLzY - I1Fe34q1/lugScmUair1njkF6E8UVEJnuCJRWqsHC6W9WHbw0UkZvK4KMQfIiR4GfwO39UEoPtOEc+3d - KDnTDHffzVzObqDZg4W8m3gMyrkEnD3/E5PEuPkEISPnFMlfZhINq4vQ+lkW4rTGl+0pLPfkpJYItS1G - DjWGEY1sFmuWUN2KyafX5aT/AeFfWm9WHAbkArwAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdFNUQ0ODMzNEQyQTExRTRBNUQ4RTJGMDI1MThC - RTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdFNUQ0ODMyNEQyQTExRTRBNUQ4RTJGMDI1MThC - RTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzJGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz41vT1rAAAEBklEQVRIS7WUbUxTZxTHS2/fb6G1VWjrwltfgGGRdgaxbkLV - FawgoKJuyMDotjCrw4ERHC/CQBjWDRQLSHnfmBnBmkBi/LCY+GEO/TBGtiwxYW775odly5aYLC7573ku - LbasJWGJJ/nl5J7n3N957nNvywPwQnnxEW7qaqjjzSSFXwtH2GIkqNx5hQXNZG+CcD0rCVsMJrBjmh1u - Gc7eMnA5MCSwHomwxQD0Znu7lJPR7LqRBN+iA+XjG0PqgWHhHP8pBKA3vdooxZvD8Vw+PpqAke9zUXNX - j/P3LDg4oOXqZf71SENCLgLQ5qxaCYqvbcSF+9loq0/ClF0Dn0kJn1HB5UnbBrTXJaHlm21wXIrl+v1D - hMGuEDGFNmWeFCPPrcX7d7eg7YgaM+ZEzH/aicWJITyeGMTi+CDmuz/G7OZkbv3wZBrsF+Ow5czSB5B+ - TFSqSmUkZFhUiJjbeb0KBUN6VN6xwHVCBR+R/zQ2gIWeLszuysa0UYPZ3CwsdHfh8Ug/fBnJcB1fh73D - JuQPGJHfr+c8lESn0LIsNrwh/H3rBQ3239yEoi9TYfmERY+ZxYOOVvzQ44Y3kcXbpSy2d8jxTrkc3iQW - c811mGtv5vqs3Sws7hjsuJyEHW4DXqmL47y8hGLBaUutGrv7DCgcT4PzuomjYMQEr1aGxe4O3CxxovZA - LIo+S1nmXJkGn+duxUL9aXg1MhSOkfu8Jjh6jcjp1MNcpYZuFzPI0+Yxpdo9zLw2n/mF8JtuD/NU52RA - 6d0gwaOORngz9LDliJBQIoL+kATGI1I4d0oxasvEd65juEb60ipYpL7FIqWchYmQWhkN5Wa+i7wHnoCg - JhgI6QQzIYOQ6VaJn33bUAPPNivOqUS3RKqoHKkuKl8WH1V4dr1oZmJfHuaq3wXp+0du4h8NEJ3Cr4jZ - xH9PwPKsxEPeNI8nIrCEGILCj7JFKbwzcXAfbh9wok0pfNasEA7XxQirmxRCb6dOiftnqjBS4ECDQniP - 9McGEedHzZvvVUWkKZrZ26wUod9uwwx5D1dybOiyvIyruTZ8daIcU2WH0ETWq1imjMiYFdCTYajIQ0Ak - viBfTutLAjSk6nHjcDGmS0u47N6ehQ/XM3+5ZPyPiIieQvj4+pISf/9ZtCq/PtyJqZPJaEqQ4LxOhMZ4 - CUYr4jF9Sk5/ufwlU4S43RzjIWCtPH3iDL72+HVcBP8z8Car5bRGdyEmyFaD9OLJQ+tzHljxxyM7aJ2s - Lz9JyICrldK14CEQeTbHz7PpoNeXj0qHiFe4pF8xoHW/eE20lIj7SMaP40bQXF8oHiNOegzhn6DmdcGa - +WC3oI9knLILhokvRE4jZEDVa8z/ggSV0mMJkdN4PgC8fwGKe+JSzfQhQQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg4REU0NDQxNEFBOTExRTRBNzQ5RTJDOENEOTZB - MEM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg4REU0NDQwNEFBOTExRTRBNzQ5RTJDOENEOTZB - MEM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUQ3Qjg1NTlBNzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz55z27YAAADl0lEQVRIS+2Ve0xTZxjGTwgt0EN7WrFqh9MFrdVyE3VMuyVj - WTITRTcz5/6YZHEar0A0JBMBRToMl1QEBURsRSheJhFwVC0yjAtEqJe0IhdtLB0a8TbjNMYtYe7Z+zEx - R9egyzT7xzf55fu+93ne50vO6YWzjRP+EwCGxefQv8FXqBhfQ0uJc8R94sGT1UksJ/7h9xUqhqt/WyFm - a0PkO3Bty4XHaoHXuhueqt1wFebBFh0G0gue8/sMFcPVhMqHWFNH4b2Vu9BRlA/bxzNxWDsGtrhYdBTm - w1tRhrqoMJAvUTTDvbCqNfwQnWdyjOgqMsGq4X8tGS0zpoUEhtI+hbS7jsxUOLZkMq1bNPMkZZiyjJYN - 8YenMAe1C+agSB1UKOozsvfFvYeODclgPrH2wirRju0dRB0Id85GmKMmoGC8+ib1vE8Zr7691zAVFxKX - gPme0YahmGB3BBJq04iAAWdGCkpnTUOWUlpJvbFDGFXSPdb5s+FYuwLMJ9ZeAs6f4I1Kid26cD6Ofz4H - 2UrJwGZBYkkXJEm0lue+pUTbulWoiP8EGwXJKfIrXhrHVhWOZAhhtV8Hd2UqpSj7yIAGeg/bPzQgP0aP - HXEGNC9LQM1Xi7CJdPOnsh9b8pQJ7SbVVQqQsHl7ljKGzq0tearE1nxVOu2Psh7TuJPZArYsloU3GYXT - 5rlBA5ka/z8zJk/AwS8/w+EvFgyupvdjsV7wu5vzrtR5bJPCXLNesYzmHjd/J9xrL9WgYCn/wYksoY3O - j4jfGjcLjcXLgw0smzuSJkdyfODU2lR5m6dpCnrqImCaKR34NsTvcaraH+mhEpTOG4nyBNm9+jT5gwMp - wRW7VvMr2y3jcMs5DT1HI1C3Qd5P2u+3zsfgjmsGaP+I9Vg2V53MozKR77Ym8w+99nD0NUbgZ3sEvCci - ccc5C1ebQtHfGoO+5kj0n4mFNYn/pSqJ73M3RuH6T+G4fioaV2xTcMMRi2vNUTSrRy+dr9j0YNlcyTdB - OFsWhl57NNyH9Og0C+jaq0LPvlG4/P2IQdw1IfDUa+jySLh/0MPdQMEt0+Em7dJ+FS6Rt7s6BJ0WARfL - FYSS5nVg2VzuogC4tk9Ex85JuFCshWsH22vJpEXXnknoqSSsOgrS4fJBHYWydTJBj7NKN+jpJC+bYbMs - y1n098qyufR4KV4n9EnjAgg18fwX5FXB+RHsEvbD8jp4U/93+foffXWA+wv9GwQ30fQQcwAAAABJRU5E - rkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI2OTgxMUNFNEFBOTExRTRBQTEyRTc3RTczN0M4 - QkQzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI2OTgxMUNENEFBOTExRTRBQTEyRTc3RTczN0M4 - QkQzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUY3Qjg1NTlBNzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6CerVFAAAEkElEQVRIS6WVe1BUVRzHd7n37rK7LLtsLs/ltbsgb8RBQDTl - FaGW4SDWmI8sLAGRtRUBRUhUXhKPAkOReKwmsQIOEOboOsofKlDDI6UZCaH4wwbTcey/1Pl27oaEiV6r - 78xnzu+c8zvnM3PvzL289kDt/4Izcx36N3CmNUDL8jMphVdLbQ6Q0YLAn17nhDMt/hre1/6aX0ipvFwk - R0+RvIDUQgKf3eOCM81+at4pP/UkKVXnD8hws8MD5/JlJWRulrD7L4IzJ3zceQYfd7Og+xMZ7t0MwUib - Fl25f0vYnufBmUZvV16Dt6tZ0JFjjfujofhtZBF+MGrRvsd6RsL2zQVn6ua78I7PdzELWrOkuDsSjLs3 - vDE1HIyBr9xhzJTOSNjef/JSqfF0NgtO6a0wNRCEO4MLceuiL273B6GvwRUnP7aakbD9T3LU03m64kiV - 1sksMKRb4faVQPTVk0t1Vv39TW6Y7PHHlWMuaEx7VlKtdZquOFKudjQL6lIkmLwYgNOZMsQGMqFfpkou - 9VSrMH7OF5eqVKhNljwlqVA7sgN3DrvZmwVfbBVjotsXJ3RShHrQfgvcKKfabRKTqcwRox1euFDmhOok - 8Yyk1M2ePc6dAldbs6Byswhjp71Rl2yFUC3tQ9akMf60oup9senbQnv82OyJs4UOKN8kmvOdPDf5zsrJ - Y47SXad9rNHtIUenWoZOF9nvhKEzzrJtkb60omyjyNS53xbXGz3QkW+P4vWWLy+pVckfdPq7YbC8CGOG - OowbajHWVIvBimJ0BarR7mxdvsyLVhS/Y2lq22uLoVot2vbZ4WCikFtidJKmtpPLbzUexXBlCbqiw9Dq - YY+uiBAMV5RgvL4G7QFqtDhJ05Z6UoqDCUJTS4YS31dp0JJli7x4DskJB8n1vsJ83KgsRYNKgo61dihY - LUK5o6jE4CC515uXhd5DeSD1CGm3CNdSity3hCZjhi36ytU4qVci+80XSOrsxI/GKgrRtmYlDvlZYqBC - g8JEMV7zpcKOOIgqT0aEYjh7B9i+3SsEipQoZt6GxbR6zyrBtQv7VbhW4o4m3TxkxAnmllQrLR/fLNyH - 4wEaZIQI8E22A/SxzHdZK5iHBa9aoiF8AYa2bwHpI4/jL/ITRNgdxwxlxjEP2vS26CZn6re/Al0M86zk - U4Xwj4EcPY4sXohcDwHK1kuxLphK0kXTY/kawYRh9evo1X2EUoXw8Y4oun1nDD2aFkmfSVpKZadH072p - EbSRzC+T9cnjyQqQ+dOSQ3Kmy7B2Nc4mrMRBGwY5WgZ6Z7ohx535tchRjqs7k1H/Riz2KumfNoVRKanL - 6fMbQqm0LeFUFluvX0Rt/GAJXUAu7kuPosGybdksSa6UWpUnF6AmMhyd5D18tjwcJUE++DwiHKakjTC+ - uw65ZP89sUUSOSCbxmZ6tCbIZ63ZEdjvh5IgIbC/Xx4vRco83iWhHuZ4adD8djxaE9eYx9IlIdBLqEcf - WjH3N8ssJ6YZnzXOrp/sz7CJrJsFJJI4AT8mWcRv1In5U4T7hDtbRXxjtIAfT/ZV/w2e6k+0FURyr64p - kAAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkExMzE0MEIyNEFDRTExRTQ5MjFBQ0MwRThGNTU3 - REFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkExMzE0MEIxNEFDRTExRTQ5MjFBQ0MwRThGNTU3 - REFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RERENjE4NDBDRDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7V3v1pAAABvklEQVRIS6WUMUtCURiGHSKhQSURRbJBIRcbgmjtD7TVL2hv - qCFoaW5oaPI3tERBS+BgEIRR0WCUUEgUgkESYYIhcXrfc++p6+0cPRdfeOD77jnf811vUCg+PTsSQoiB - aIeCoJN60Q4FYWh0Qz6KQBgouhpzcGkYovcttPDM1Zjjk2nftgubzTOX/l+FB15Ep9sbCTpctRP/go/O - 10i4C8KOHfEtGPQHtSKWnjmCNuHYETzsA0nwYrPVDgRnMLsCFumgSMYrJ0iYl19e3wPBGczmAOXGT6QQ - 9cabhLXqTbXqoft7cxUc6BC1p6aEtepNteqhm3KsnuBAh6g+NiSsVW+qVQ+d/YLr+2cJa9WbatVDZ7+g - Uq1LWKveVKseOvsFZzcPEtaqN9Wqh856Qeu4fCXKlzUreDeeKbShs16wt7G9K0qVOyvWtnZENJU7hM56 - QT6ZnRPrWHJQuhAn57daeMY7vDs+EV2FLuVYPdHIJdFkbj6Wzu/jp3+i//3mXiYzhU4kmT2FfBOqBRCR - Um9wUQsyBvhGHFwCy4D/a7zwGc94Jwk40x+dXIFwgG/FRfy+OnjGO//ljE4chMEJhX4AMnDyVRS80DQA - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUyMTg3NjEyNDlEODExRTQ4NjNGQjM2Mzk1QkNB - RkQwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUyMTg3NjExNDlEODExRTQ4NjNGQjM2Mzk1QkNB - RkQwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkJCNTE0NDlEODQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5e5MstAAADiUlEQVRIS+2UW0yTdxjGcePwtYyVVpAUCi1tv9ImrVbxhAei - kjGphAgFT4jzEJ0gGuJhDk0sml0sglmWmC1hqHNKWwI4srgNh3phpjg1O1yIN5DMbFHQZUu42O76+D4f - 3Fl6Z7ILn+SXvH3f533++X/98iUBeKW81v9Uwx1G1+1240EhfKfdeE/4U3qTAqaZZO/2aeN9IXLrY+Ph - wVOZHll9YyohgYZOGS4JsYdXVDy+NQ8Tvy3BP6OlmPyjDP9OBDRYs8cZPfRy5/uQISIRqcIsLSye+j7I - wN+PluOvhyWY+NmL8fsOjP9kxdN7BRh/YJHfFjy5m48nd4ThQjy968bEgwV49usicFciTEKKFhZPXXv1 - eHxtLsYGPBjttwsWjF0xY+ybOfj9uylYs8cZPfQS7kpEnqDTwuLp9GYlfKZeifUfzcb1j/Iw/IkNv3Q6 - MfKVC6O9bg3W7HFGD73cORlMG5AIizDzAaVtunD5ESXWfNSEY/tNCO00oG1zOkJBBSeqUjVYh6R3Qmat - zSY0Hjah7IASW7hPuSoRvIGihcVTSauCppvFODRUjJZvPWgaKMTuXgt2RHOxLTwHDd3EjPfCudgesWJX - jxM7eryo7/Ni8SGFj8gp6LWwePLvS0Og043A5y5UdtkQOJeLivM5ePf8bJSfM04zG2u7chDoysW6Thsq - zqpY0+GAvymNB/gEgxYWT64tKdGihpSYv8WEpSEzVp0pwDuf2SVQReCiS4M1e5zRQy937NXJ1yRirjDz - AVmVJyNZa9+PObauh7ptKdR6FY6N2SisTYe1OlmDNXtqvRNqwxLYt1TCVLY1ZijZOSQRbuEtLSyeTOXH - sfLDH1EauoFFx6/Cd6Qf7pYI1ObLsO+9iMLdF+DccwEuqd2Nl+Br6sbCxiiKd/XBuPogH1HiAzJXHMC8 - YA98td1wb4rCuaEH1roo8oMR5JGaMPIFa10Ejtowiuouw1vzJTwVXyBz+X4ekPgRZfgbohkLtsfMy47B - tqYdakUnPFUM6YUv+LUGa/Y4o8e8rBXcSffWDkpE4j9ZpEvNmb9KsZV16BzrBnVq1YjeVf1MX1Tzn74o - iCmkdq1/LrNHOkfgB6Vg9afJRrVOdv2ClRkMmklvCnyPs4V8ge81v5RegddnCGHNHmf00JslcJcZCcWv - IU1pAhcyhLcFXj1zGtbscUYPvdyZ+Uv6Wi8rKekFBjoX2627by8AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM4QUEwRERENEFENDExRTRBQTE0RThCQzEyOEQy - OTc1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM4QUEwRERDNEFENDExRTRBQTE0RThCQzEyOEQy - OTc1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7dyRkqAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH - prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 - U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB - 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD - QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG - 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU - 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao - GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc - 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 - /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC - Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ - KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o - VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX - 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 - seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt - NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei - /A9dc78cqtG90gAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg0OTgxM0U5NEFCMTExRTRCMjhEQzlDODM2NkRC - RDlGIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg0OTgxM0U4NEFCMTExRTRCMjhEQzlDODM2NkRC - RDlGIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REEyRTIzN0FCMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6v8JhMAAABX0lEQVRIS+2TvUoDQRSFJxCCUeIPYiFI3sA3EGsLEVsROzFV - YoiI+AOCmkrQblLqmMqfdL6BD5B+t0wVyBuIHO/dmXUncdiwZk2VgY+7e8+Zc3eWXfFenBsJALE4NyXB - FWrj3JQEV6iNbZYEUkAKe7VWCiHovT6h99akqjStwWvSXx615/lBV+5zz+zlHCIa0lyekQSYrmoENY5h - nq6S9r0UjaU8Ovd1dO5uiGt4RyV4tRK4T7AeeLzaAbzqvq6khx5+SK1Tz+g6r67124WcJOBfVOGfltHe - 2QTfX83nFFXWI8/5IfyzCtp72z8eHhDplMH67lakX85mGUngY2MdXE8KWWX6Nsaz1ucJl0sPhOPpTIgk - UM5nlNUb5JfHXrZuWkJUpoRYLK5KAimjvyQzAJ9fSBXOtAf8ywmCP5kuxjLAecxR4MyxnmDyilxMXtFQ - +k7wZzgkDuemJLhCIyC+AQJpG34j81bcAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGQUQzMUIxNEFCMTExRTQ4RjdGQUM0QTdFMThE - Qjc0IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGQUQzMUIwNEFCMTExRTQ4RjdGQUM0QTdFMThE - Qjc0IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REUyRTIzN0FCMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7HZq05AAACGUlEQVRIS7WS30tTYRzGp+Vym9vUVVuZ+w+Cuou8DLoLvFFL - yKQf1iQwBpqhbGLrp1l4sbfQMpZgPyiI6DII/wEZJhVdxFCMkv0HEk/v854OnPdwOp6x9YXPeZ69Z9/z - vL98AP4rjoO1xHGwlhgPS71PRoUEVP6OJQ8KCSpE/DPgXTKC8usFUCXq41u/URHs0QLetkeEBCblVwWU - X8wrP9keX7XMzCv6Ct4cCGNzcc7g+ROpj7F+f1J5vnP4wHboAS/bwvi1MAuq6dfuZpQfbEs4boMbDNEC - Fvc34efTPKikdHNM6VwiVOBsLDPzir6CZ/tC+PHoHqgSQX0YDxZ46PyzrdkLesB8PIiN/BSoEmHq3wDH - bXCDPVrA7N4A1h/kQLV5zr76FeT3NGLt1jioyt/JyEPOKj+UiFV/TWdiu1C6MQqluavKfx44idL1ETXm - tA1uMEQLmG7143s2DarymTQ+9XUqf3F381fb7Lygr+B2ix/fRi+DSpZ7TyjNNvtrc01z0QZ8GU6BKhHU - sUiDeU0dt8EN9mgBE5GdWB06D6rhz5m+NrdoPLwDK6l+UA1/BiuX+pQ/3Rqt/hZda6oXEiwdO4LihVMo - DvRi6fhRFM/2gONO2+AGQ7QA1nCoXkhAlvu78LHjsPLd0XD1t8ha6WAdPnQcAnUwUKcO2iyzqRKMh6Wu - BHxCglSjT/s4y97sBePhsezN2wPfH446+pStKAUKAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRBOEM2MzQ3NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 - RERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRBOEM2MzQ2NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 - RERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTMyRTIzN0FCMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6xBZbXAAACOUlEQVRIS9XT20uTcRgH8N+ch22ax7KDOilzGmVhBS2Qojbx - JjSjOyVBMBui1VqYXthBMIqgQF6LNVgidkKQcJJBIBQU3hgOpiR1Ixb4R8S35/fyvvbz7cES7aKLDy+/ - 5/B9djPh9/vXBcCq2CVDjKn9hgtVsUuGjTkQc2exaDnG1a24UBW7JP13B8qJl5SSbFnbsAOjRZlVbw6V - 4m3VAUwc3I0xz1ZQrV4eoK/sSwNE1sOk0qjpuFCVeF6QMRwPBbA0/BhLQ2HM9YQwUrIZp04cn6Ce7D94 - d6Za73/qaAa9w0Zdx4WqRHSb63X86gV80+5isb8Pr7x7oeU7+30+3zj1bsr3onYHie52DBZsQk+e4xjV - 5Z6OC1WJgS2OjzOXW/D+bA3mLjYjEWjEs33F6Cxzf42W5OPLrU7M3wgh4s5Bb25aqxDCRjtyT8eFqsS9 - 3NRzkfJC3M5JHXm6fydmGuswGzyPF0crMN3WhM9d7Yh4duB6dkofhSfRvNxZxoWqRG9WsnSYllPoq0X3 - FGOqzo94awMSl1rwpNKDrszkh0bfnF/GhapEd4bdSnu0azsmfV4MUXgw3T5I4U5mTseFqsQVl83KTu4H - 05N+tDlt4dNptjJLfwUuVCU6HDz5P+DqVlyoil2S/ukBCq8h38nL9WAPUKOCLJAj1h7H+outVgxTaCGZ - JyfV+mq4UJUMNbnIB1Kr1P6IC1WZg3YyShqM91/jQlXmoEYC5tJacKEqc/CaurQWXOgvED8BwmqyacXu - n/EAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ - mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ - Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX - E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 - i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ - CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw - PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT - tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p - uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V - tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN - pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG - Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE0Q0ZGNzdENEFDNzExRTQ4OENERTg3M0ExRkU4 - QTFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE0Q0ZGNzdDNEFDNzExRTQ4OENERTg3M0ExRkU4 - QTFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjAwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6Ak4wfAAADR0lEQVRIS7WUa1BMcRjGG2YYH3ww5NJVyG3GF9KN1U21KblN - yaV8cuvC0IyZInJNIboxZrvJFk1CtZvNlHTVTC1FKxuVRsgsbWyifHi85+xpt+yEY/TM/ObZ/3vefZ6Z - c+YcIwBjymhaSHhx/ifx2dXJR63RaMi9tcff6u92wzatrCLA4OO4GD2aPtaHZqMxym4VF6vXLl97NBUl - oUmSjMSje9Ct7kVi1G40FV6kWQpayrKguJ+Gp9IUNJeksjN2N2qXdpf+o3yYw15nsihymjaZ0w7PpajL - PQ1ZfBAiA1ag9XUHIretQn70ZuQf80NF6m7cPb1Ve47aSDN/SGICEBXkBGVHOw5vF+DOcX/ILgWDyaJI - E20yJ3/nJShNCYQ43B0xgbaI3GJD7oCs/auQESJAxj4XZIS5IDdCiKyDbsgIpTnNzgTa44D3InI75B8R - QhLrByaLIkcW+DosgCjUHaK9zqxnHvSCKIQCI320c45UmolCV+tnwdr94TBZFDmywHOZFf4nFDmyIGDD - /PDOl2XoVEqhyMtk/V94qbgHJ0fTWIr85Rmst474oXmMwc+1UMlusc6X/k9VUHdXQ+hmeYqL1ctv3bzo - tq5GtHTUoV4iYZ0vza9q8ExZSwUWcVysXpvWzokZ/FyHAXU5PhRcZ50vX1Wl6HlXDk9X8wQuVq+N3lbx - z9tr8eRFGSpycljnS4PiPhqay+DpYnaFizXSffXWr5mdMqB+gO8fJei6nsw6X/q6C/CpSwp3Z7N03dd0 - 6Iev0DJN3lKKmsYCSC9fYZ0vlfLbqJIXYbWTabZBgY+Hhfib6i7634vRlhDNOl++vLkG1eubcBOY5BkU - eLub51U25ENWnQnxiZOs80VakYaSymy4CkwKDQq83EwL+99dQ19nEhRHw1jnS29bAj60XoXLipkygwKh - q0lJcXU6cmXxSNy3HzeKL/AiR3oe4qI45BYn0Zs846FBgYfzrHKV8iLePjuHmkM70fnkLG/a5TFQ1p3C - SlvjR7oC0jhigpPjTJHAbnq943JjuYPNqDz+A412y6Y12S6dmk2ZU4iJTMF4YjIxi5hNmHGYc25BMPPh - zCEsCSsO5sxgTcwn5hJM3iTdLRobYPQTdTQPZQeGFN0AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ3RTU5RTMxNEFDNzExRTRBRDBBQ0EwOEMyNjA2 - MTlDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ3RTU5RTMwNEFDNzExRTRBRDBBQ0EwOEMyNjA2 - MTlDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjMwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7q/i/2AAAEZklEQVRIS62S2U+UVxjGv9umCVpkACE4UA2NoLIIKMgSK6DA - sMu+iZRF9tUBYUBUQIIoSnEZsCj7LijEkXVYRKCovbFJY/+IXvT+6fseZkjGdEhNOsmTX97zzTy/Oed8 - EoCvyld/9D/cZ3qgi7Ktj7nZ/r985dKrvdJ+xBJfxkcuTdOzZl29gWC7qeUO9GHB5+U+fF7uxx/aXmLf - F+wXhX8qU3fTetgCn+a74WUjvdbVGwoKy8qRdCkd2fkFQvBxogXvemux0VeH9Z4abPbX0azC1sB1scaC - 32LPYMVDjo1oTzTYmmOhuxbu1tKcrt5QkJmbh4TUNDBZsD3aRIU1ePusigpVu1x/fg2bfbVC8CHqNJZc - bbCkcEO9rQwadRVOWkkLunpDQUbOFcQlp4DJgl+HG7DWXYl3PdWCXKyfWcaC9+HuWHCyxlKQixBMd5Qb - F1zKzMLFhEQwWbBBR/KWClefVlCuCq5TMZPXWbAV5IxZB0vM+x8Xgpm9BKmXMxAZGwcmC/jMlztLsdpV - LrjercRKZxnWSKBVlwjBpv8xaOxlmPM7urOD9hLjgsS0NIRGRYPJgjX6tytUrH1STJIyLD4qFLOeLFj3 - tceMnSk0Xod1Oyg1LuDzDw6PEPcgdkAXuvBzHrSPi7DYkS+49LBglyxY9bTD1KF9mHGXC8GL1nzjguj4 - BASGKMAUO/hFSUX5mHuQQ4I8kuWKeb79CrQ6wRIVj1mb4KWLjU6QZ1wQEROLcxeCwGTBSmc5ZtuyME+C - ufvZWGjPMZhZME+v6JCVCcZPWKNeLsPo7UzjAkVkFPz8A8BkwRKd9ey9n/D6TrqgpvUy5toy8eZuhphZ - oKFXdPK4FQYdLVFHgvHmLOOCoLBweJ/9EUwW8LnPNKdCQ4Lp2ymC+pnJgp4fLNH4vQUeHDGHSm6GoVtp - xgV8/p6+fuIeWPCmLVsUv2xMEnzVlCyKpxoSBVupuNH+IJ7nBkFFsupDZhhu2EPgT+d/6ow3mEJwLxuT - NxMw3ZiM8euxglO3EgUn6uPQZGcOdbIvxuvjoU7xg4oEvapE44Kzgefh5ukFJgumW9IxeSOOymPwoj4W - Y3UXxTxaG71LFo+ooul5HAaqI9FbG29c4HfOH64ep8BkwQwJRmoiMUEC5jgJmCwbro4QQp6Zw8SBaxHo - q4mFm5U0r6s3FPjQBTu7uYPJgombSRhTRWGgMkxwhEo5g1XhYu5Xhu7OoyToqVDsLfCiCz7h4gqmENxI - QP9VBYaqwgQHlArBwcpQ9FWECPLaKEl2nofimTKKBf9+RKe9fXDMyRlMFoyoYtBbHoKuwgB0lwTtsPiC - YA+tPy0MFLM+6oIAdJaGw/WgtKirNxR4eHlDHxb0VkbhUVEwHhcp0FEQDHVJmCDPDwtD8KQ4VJDXmR2U - uznn4WQpaXX14vMNx+Q70wHKJ8rvHNmB/X/TF7eOWUjvHc2lD/81DjLp41GZNEydNpRvWWBNsaU4UFwo - J/+HuFIcJUmy+QdCMju4m8uS2QAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzNzQ2OTA5NEQyNzExRTRBQzE5ODE3QUREMDMz - RkNEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzNzQ2OTA4NEQyNzExRTRBQzE5ODE3QUREMDMz - RkNEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjY4MkNFODIyNjRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7LYcOsAAACTUlEQVRIS5XW3UtTYRwHcP+EoKtuouiii2gXlcRKykHd9KJp - YXhMe9PK2nqFBhG+gTkxX1rjtGah0UVddBEUiPRKJDIsyaY5dNWGbm2uZBgiZvXteR56Hs6Op/N0Lj6w - 33me8/0+nIudkwPA1NLla1UCEkmilliivz9r0CM3KFUuNxZ+wVQi9RX1nmu0qIFYps3ICtSjBZVON+YX - fpsKdN9HTWM7PO1+WtJMrOAZi0IpsmH9X8pR50XM/fhp6mbXPRqsums9aPXdYiU8yyhczd9RApnV6/KR - t70YsXgKwcEQWrydzPvRcVoQ5nlGBZiZnTc19W0Gj3tfYqOjgIlE41nrNIPnGRZMf58zFUukscqWh4c9 - z7F5WxE2bNmJkfGoWJcWpDOzpj5NpmhIZuWaTXjw6Alyt+6CN3BXrEsLkuQRmImnM3j2eoDpfzuMiuMX - 0OG/I9alBZNTGcZut8NmszH0N7+uV37sPNrUbjFLC6Jfpi0pqzqHq74uMUsLIhNphp/+X/g+pfIsmr23 - xSwtCEeTlpQeOYOmjk4xSwuGPyYYo1Nr8X37D59GY1tAzNKCd2MTlpQccqGh1S9macGb0RhjdGotvm/f - QRfqWm6IWVoQDH22ZG+FEzUeVczSgr6hCGN0ai2+r7j8FC43+cQsLXg1OGZJ0YGTuHTlupilBS8GwozR - qbX4vj1l1eTv24FcRyFDMlSeZ1jwNPjBkkKlmoYqBHtRafOywila0Ns/YkmBcoIV6LOoRRdoQU9fyJLd - pdYK/uczRU8882zI+QPBTkk4sL23wAAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z - Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 - 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT - O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 - mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA - mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI - lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j - CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 - +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug - QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb - dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf - 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 - ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 - mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y - tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA - AElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE2Q0VGMDE2NDlEQTExRTQ4NTlCQTI3NTMyOEY5 - NEU2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE2Q0VGMDE1NDlEQTExRTQ4NTlCQTI3NTMyOEY5 - NEU2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjA1MjM3NzFEOTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6UH16BAAABrElEQVRIS63N70tTURzH8fsnKSGCCEIQCBKISMq2iILCgQOL - JUxQAoVKdMGQuwgWFepsMGjFZCMuorsIJV4WFatpvzdr1ZAFsaIHn8559v1eDsI91wevJ/ee7/tjbMRH - fAFwJOWRF6oopTzyQhWlVEdBwRbgUhICAnuvilKGtXDGzW6WV/CvbjE/xTfxr+R6q4xSxtP5YTf8rVn4 - s5dG+809Rv5zvVVGKaNwfYgyBfhksoH83CCF9seiL7LBBnLXTlP4/W4dza0ZLS0nCdlgA9npAQq/qk/Q - sKa0NJ8nIBtsIBPrp9CqPMJBYVLLj+04ZIMNrF49ReHwVRafH1/R8m3zJmSDDdy/fJJC88Ua3mcjWurW - LGSDDaQifRS+O8uopsNaPhVnIBts4E64l0Jj5y4qDy5q+ZCPQTbYgHmph8LXZ0m8TJ3Xsp+LQjbYQOJC - N4XadgLl22e1vM1OQDbYwK1zXRS+lBbhmEHsLgU8kTeVh+OQDTawEDpB2U4mitfpMS22GYJssIH5QCcV - FGwBmuRtkA3cGO3whcZUlEdeqKKU8sgLVZRSfjw+MP4DJ2GPpDR9OIsAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY5QzgyODdDNEFBNjExRTRBQjc4QTlDNkE4RTgy - QzFEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY5QzgyODdCNEFBNjExRTRBQjc4QTlDNkE4RTgy - QzFEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTkwNkVCNzZBNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5gwa99AAAE3ElEQVRIS63Re0xTZxgG8E+WbFMXGSI3K1AElAlRJgFUVNYI - qIAXLiIFKXcjq7IxHajRMYZDRASDAspNBStoy0QKCojcKQJHtAgqCEwnHuY2dCbG/bPk2XeIPdOFxsX4 - Js8ffb5z3l9PPvKuA+B/5c0RRsXT5P2byATa6tBMmTh/bSZbNlneHGFkgbydBZfyDhbETHKKth/RcMh7 - GGFkYVbVCA5euIfDij4QwaZztJ1K88HffzURTd59hBGnMioGkSi7g+SSbpDZG+W0nUbz3oAzqfTfJ5b0 - YX9hJwcoaPtWQBJLCmgYTUJ2kEJaT3J3wvCSRFk/EgrV2Jun4oCfaPtWgC5kBh+l4P5oBs0xiLeRHlpP - cnfm4ef2nbmNuBM9+Ca7jQMu0fZ1QEeTiedfTfB2wtwa3IXrfeFQ3YqATxhR03ri7iYe4Mc8rCw+/xak - x7oRe7SZAhuUtJ324lmdiC4VTxJX7jWxlDBd/WFoU29GvSoI3sGkl3uP5r9AqDw2h0HUkQ7EpDdwQDVt - p718fjVYmb20XZ72GasJ/a2i8BZ6PiXgS8K09wahqccfNW0SrA3SCkjKpVldEB9oQ8TBegqsv7JggfAT - DriQasO+fLYZmsgOzB8be1QR7u/7xYf+2wjTcjMUtZ1uUDb5Y7VYG2AmqQhNUyEgqQnipBoQk/V1PPDj - PPbFbyI87LTG+OgyFO2z/HVk8Hy060r7j322EuZqlycuq9xxsd4D7pu1AiGVoamtWLf3GgK/q+aAqxrg - fLI1+3xsCYZbLcEOOSJv99wJYImz7dQN0YSpux6MimYnlNf5YFWAVmBLte/+BnjuugLvnZcosK6BB763 - ZP8cdcRAvQUeDzggb5eQB7wjCXOpeSkU15whUzpC5K8dqPHdUwuRtBJeXys4oFkDlO2zYJ8+XIz+KnM8 - umOPk3FmPLA2nDAVjW6Q1cxDcaUjVvppA0yD69bGVWHF1nK4xZSCGHu38MAeITs+shBqhSl+6bPDyVhT - HlgdRpjS2kUoqpyPfIUdlvtqBYKuuUkvYkloKVZElHBAuwYojTdjf7+/AMzZ2XigtsEJqYAH3CSEOaW0 - Ra7cGlkyKyzbqBUQN7pGXcCigGK4SIoo4NWhAc7tnMM+uWuNjgIjjNywRG6MCQ+IQgiTp7BFerExMk/b - wXmDdqDFKaQUC/2KYB+QT+/Aq5MHvprNjvXNRetxAwx1CZEbbcwDrsGEyThritQiUyTnCuC0TisQ2LY4 - sBjWnifwuV8O/QLPbg0g227MPlaboTFdHwOqOciJMOSB5WLCpJ02QWKOHpKyzeHgpQ2YE6iy31QES/dM - 2HgeATFa08MDMUbsaI8Al5P00NdoguMSAx5YFkiYlHwBdqfPQsJhfdivIbfptjcAXRoBEfjdnOeZRYFD - sHJLAjFYdXfGjOlWvTdOS89EGzwZbDOCut4QndUGyAic+UdTfda3urrTLZz9iXp35qeIS9HF9sSZsFtF - Bug+Mxp9bjk3c2kciKGHkhi6D5JZomFi4DpM9F1qaL+0pip9b8E2y94s8czx9E1644f89J5mhlnclZf9 - kEzPnW09iJLmvo2IjMxfSX62diG1tHd6tZcf7pO4L5lFY/ha9Ibula15MCSP6leXxPR0Fu7QpLsjz4ee - z6CZ9D1CiM4/X3QnEat9eLkAAAAASUVORK5CYII= - - - + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl @@ -2026,9 +1024,43 @@ M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= - + - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv @@ -2038,29 +1070,132 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC + RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo + KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O + 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd + rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o + 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C + s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI + jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs + FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm + LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml + CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV + hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q + bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX + YCSg/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC 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 @@ -2072,318 +1207,34 @@ bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG - NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z - Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 - 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT - O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 - mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA - mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI - lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j - CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 - +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug - QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb - dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf - 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 - ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 - mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y - tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA - AElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGOUFCQzZDNEE5RjExRTRCOUJBREM4MzEzMUQ1 - NzQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGOUFCQzZCNEE5RjExRTRCOUJBREM4MzEzMUQ1 - NzQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODlBOTk3NTY5QzRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6aIUJsAAAE0klEQVRIS6WVbVBUVRjH79297/fu3l2EFRCCdBit6YOROU2p - yALioLwkmRiWKCDx5oLyKqy4IwoEgyAYRC4gb/mGmIKBFi8mIBLql2iChnJyhtQPzTh9CKE9PWdDBCOk - 4T/zm+ec5zznv+funmcvcbfUZkG8UAPFNguF6S+yOfBdkc0IjJ/A+M71PG0oWFMASdw6pl0IQl+h9upI - 22voToU9ulmofQg5y9BFN9SZqymAD2CI3gLtvOn+RLu9J1/bdypR7diQrJZg/PVwy6uoI0fTEruJXw2G - TpnbxLXwBEM/nF+KmjLkcOLbPM286MrR7IQ40ZWruW8MEZbDvOPHS6+gVpNczdKkE5jrADUglH4sre4v - 06H2o5rviY4j8gv55rC8G+JEe7b8a9Z2Qd9mkrsHLyxHzUZ15aS5LcADCoAElFD7OzBOXDXJc9KaJYdD - /KvtkHwvK0TQNxvl3rsNrqgxbYY5N2lsVYtRdoM9lisH5RGYqP+Ty5nqSIiW5kz1L+nBvL4pXd03UOOC - TiepTjIUMWVev0+lgzrlP+ZqBp6s43bDMlQZL5mIi2mqWWlKVUVBtED8OTmI159NUt26edIZ1SVIFZPm - i7D5hVTVZqj7E9aNYZ6s2JSmauyvWYpO75cuayXShTibJP2LM/ulWIgWiCOJ/py+PkHqv1HmhMyx4qdg - uuSpOZgEQd3YmSTpkSmE1zckSpd6Kl1RrUFq0skKF6ixJeoN0gzq9krxEC0Qf4r34zyr46SBjuIlqGyP - eGK6ee1eaQvUjdUZpIfJgfzGyhixtavUGZljxAtakXwJauwAnqiKEaeojBYNEC3maHE4bD379udR4sDV - Agd0fJdQMs2chfX3oG4MTB/s9eN8yiPFa9fyHVBZpNComW6Ob1XFHsHKZ5GCAaKlPEIYClxFv56/g8+5 - VuCIisL4KiicMi+PFLZC3ROofxDry/qU7BbavzpqD4fgz2kEq/n0K0sQpbt4zEpgvCSMHw1aRa+CtH3x - Tr7LHKdGAW/Qb8Icn4g7Hsa/P1n3W5QX41P4Id/x5SEdyg/lTsuzmWMd28ERhaFc3blMHUrZzEZCygFQ - 5W/nyi4dtkfGIDbL3VW5uOADLh5qJ6B2NHw945MXwnU2ZtihnG3cFwJDOsOep/3wzBwLCjGPcrdxD3nG - egotQMV4MzrI3TufoUOwbrl4xBHB/P5Ha+gN2Vu5zrOpdsgUzNXTymf9AMw0x8oOZjHjpnfZuzB1BAQA - d6UiwoN2MwawDbA2mOHPngl0p9ZkBbE3GvbboswAtvY586lOnqGsQIY4GMAMAo+X6RQvQ4rDOQwId6cI - 2K5wULhm+DPdtQmLUKofU0XNxxzrwCaaSNlIJ1XH2qAEH7ocUhJA4jwGpAh9i7JN96OvnwLzfRto87zN - scCc0K9Q8km+dA+MLQYvugTm+F1IwpyEvC/E4ZoUO2Twpiv+lznWPm/8ZiPIYHelo0FP9ZrhSSD3R6IX - dRviaFGEjOeW6HXUCUphNbd2Mt4zuXduGTwpKyCFm46UI96h0uI8qEHIjQOPY9ZRV4JXKrfA+tTfBEBO - 2ze34jyUU4DwNcMG+KouBvCtwn2BGw2/rfAvTz63Z25Fr1XOAIS/V3w0FsBdiT8QG+NFcpb6OUQQfwME - xz0xnqHypQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 - 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f - 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 - uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 - SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD - bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 - 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG - TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX - 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj - p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY - RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB - lh7gOXXZq9sAAAAASUVORK5CYII= - - - - - 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 - TkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx - MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ - mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ - Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX - E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 - i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ - CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw - PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT - tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p - uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V - tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN - pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG - Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFQzJGRUI2NEFFMDExRTRCNEQwQzlGQjVEQTAz - Mjk2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFQzJGRUI1NEFFMDExRTRCNEQwQzlGQjVEQTAz - Mjk2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUU3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz71LrnbAAACUElEQVRIS7WTTUgUYRjHh4g+oWyXiF1dESq0XLsUISR9bSQG - C1FGpSIdyktQVIfq4AYd6qBBhzq01xChrEuBCoIf1VoqbOAHae6mSbtWW22Zpm3w73l2BpoZHp2doj/8 - mGHe5/k9zDvzKgD+K4ozt+ifkKR6xCY7SFI9YpMdLCM12cEyUtMCLCWW6Z9ZRl+8ABXEE9eGrXBv3Aa6 - 7yaqec0yXGRBvc9/HF3dfZiZS+HHz18I9YRRdqiaB93UNPPHJDNzcFfZESS+TGF6NmUgOTWjDfFWaio5 - glRP66PWDiS/z4q0dT3nASHSLFJtQgSpnk+R8TgSyWmRycRX3qYUaZarNiEmoZnkyFgMscS3eaEaOk2K - U7UJMQnNvA8PRTAe/ywyMhbnLZojjVu1CRGkepqCd5vweuKDSMPDZqzJLnhJmhzVJkSQ6vHt2F+O/tF3 - GIzGDfSPxuDzV2KlI/s6aVyqTYggNeDwFAYrTp5Hz0AU4eGJNL2Db3Di9CWsXre+nRR7WJOWSZGkhIu4 - SkSIqNPjfVu4fR9Ona1FzbkAthSXwpGz+SMNn+Q1h8d7g+ryNKUxtCBx68zla3jQ8iwjLgTq+G+6rSmN - MYmZizsPHEN77yt09A1nBNfu9VfxH1Wraf/EJC/J3VSMxsedaHsxZIt7zU/BvbRduzW1GtOAhkDdHbSE - Bv6KK/VB0De5r6nVmAaU0Gs20jV9Qu2S5c7vXLU27yhpl6h2Ci0YoKwg8olS4jBRniFcyz0FBDvUCAMW - E1kEHx4+oXbgHu5lB0VRfgP1p66ckfD+bgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBQzA3NjM1NEFEMDExRTRCRDJCQTRBMTUzMERD - QUEwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBQzA3NjM0NEFEMDExRTRCRDJCQTRBMTUzMERD - QUEwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjRGOUQzNUFDRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7wDFMsAAADRElEQVRIS7WVbUyNYRjH2/iSD2behrAK1SJxTpF3hSZSmbxE - qZYT6SjJvL+sMZIZRqGat0hRmyxLXmq1VUoZHbVSspqQKWPGvMzfdT11Hs+5uz/4wIffdt//63/9r/M8 - z/08xwrAf0Uqyhg02kVPpBOviARimMwnIhVFKMzaxsENlzJz0dbegcTjZ0BaiswrIhVFKCwydlsCvv34 - peLtH8xDpsn8WqSiCAWFRcXtxtfvP1U8F63gAXqZX4tUFKGgPkPtXJGcdgUV1bXYsuvgv71FDAWe8PD0 - R8z2BDjp5vKABJlPRCqKUJij22xfdHR+RNenL2hubYfNODceYi3za5GKIhS0MtgQh3cfPqsMH6vjATEy - vxapKEJBq0PWx+P1+08qZdUmLOg+SWmETtbHSEURCtgeErkFbR0fLGh924WT5zJgN2E6D9ov6+0liFBj - kn7WYpTV1KOlvVMlICgSJZW1yrra1IygiFgecovw0fZbhImQOWV5qBFPG1sVnre9U6Eaho3RIX5volo7 - fy1PGaLNsAjUQsbAZSEbUd/yBidTryLCuFNZm+EBxEAiydl9Hk6lZ6HiSSOG2k1iva85p1ewGTL5LVll - wKLAcG64GrBmA2qbXqmQpgzo8c4hsuxdZrB2QJtjESpCZj8i1EnniQvZt1H0sBaPG9oUNu1Q3uZkwT9Y - u2csNiLU4DF8rB4ZuYWoevYSR5Mvw8NrKdbF7kGlqQW+Kw085LCs14xUZKjRmrh08Hg6yp++QGlNI2Z4 - B3LgbOLO6Qs5uFdugut0H9Y2yzIYqchQ06nwTbtR+rhJYdlaIwed6Kn5O7vPx/2HdcjKL8Eop6lc8xUz - mF4CQ+ZDXn7BeFBVj+LqBsTsSuQAi68n7Y8Z4vYp9WOpmcqRJS1C62EsNgyZjOOnLEBe0SPcr6xHIt33 - Ibau3Dxa8A3gI3kx567iS72WD0c6DKRbvNHqgqFi/5GOU3D+RiEKK+qQnl0AGwd3blqo9Wn80ROmeiPj - ZrHiv36nHCO6v7L9zB6xwbjKEI+CMhOyC8rg0P2LorQeEapvtZ84C2cz8xG94xD7j2jrotnOSe+FwLBY - TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL + SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 + 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P + zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 + 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj + L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 + RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf + nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P + 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj + ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G + xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H + dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 + LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob + gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 + ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi + UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd + XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 + 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN + jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF + Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn + ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A + AAAASUVORK5CYII= @@ -3158,6 +2009,1155 @@ AElFTkSuQmCC + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZCNzIxMDY4NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 + QTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZCNzIxMDY3NEFENTExRTQ5NjNCQjQ0Mzg1Q0E2 + QTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6N9zpwAAAB70lEQVRIS7WTTShEURTHZyIfk0zRlPKxs7SwsZWFvSQbC0lW + CsNuMMjK9+4tWKAksbCxsWIjipIis3gWhpSPhZTkq+Oc+8697ntz53mFf/3mzDvn3P9/5r2ZEAD8K8bm + X2Js/iXOi4+2qqIWAsgpV4tHvgocsFlZDA8byyDq+pKoPPJV4IC18iK4XV0AUVfmReWRr1wBi2URC4Fs + 3MzPcZ3NmHlQt88VYMUKID0zBunpUUhPJh3oWvamRkDsTCQh1deJPeoj2Kee3KUd9ncHTJfkgT3YC/ZQ + H9jJ/m8SPWAPx8V7sYP1pL3Z6cldek9nEdphf3fAeDTXQiAbB02Nop7FuzJmOoni3GX2/5ZI8VGiKAd2 + G+qA6nFHq6g8CqafAgYiYQuBeCScotpdGBafsrSqxkJAw/z/+Ckgm8j0/RMUdM0jt34T8PL2oeCAfGeq + iQKy4ScyfHp+VXBAzJlqMhlLdKGB957D/eOzwjtDnGdiMpbookPXd4+BoX1x0GQs0UUH7Kv7wHBAvtFY + oosOnF7cBIYDYkZjiS48kPEMjs4vFd5ZtKx6G49VGI0lBtGvpB5pIZO9E1tB19hvoxlDe8G/AYt+5xRS + QYY7hykFB9TSjKG94M/AKzLc3j9TcAAZu2UylvgJDV3PRN1zl0KhL06k1hGgG+rkAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBCREI4OERDNEFENjExRTRBMDIyRjhCMTI2OTg1 + QzRCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBCREI4OERCNEFENjExRTRBMDIyRjhCMTI2OTg1 + QzRCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjY3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5EAI7UAAAEwElEQVRIS6WVf0yUdRzHv/f7nueeu+cO4UQEIdnNarXUyLUa + IqdOJggklBBuYoDGLw8UFJWTmBYYDEFQiARJgakJOAQHVF5UgIgobYkFRDFdNPgjx3LFr/v2+VzHI9gP + 2fhsr32ez4/n/eX78Pnel/QUOSyIp1p3gcNCkXflOxy6le8wCM8T8Hznq+O6CJCWAiJy84RuIbCdebqW + weYX6J1SZ3ojTzcCOWvfFQP9MlubCwvISUeubt60fagLb8/RdX6SrHGpTtVw8Px5f+Pz1JKlbYz3Z9aA + oGv6NpU37KDv3uXltO4wH0W+Pq6dF61Z2h3gp1qztQ/MYewKiC0/1D9HmzL5CoVM5AriekADsEXvcmu6 + ivX0+gfau8TyPv9UvjjKvwN+6vox/n5GOGtszuTbemtX0Aazptwu7ggwgBgQARLo/Q2YJC2Z/P/SlMFH + gZ9ufo8fyghjjQ1mvqOn2oPWpM0RV9qFbdZo5g3wjvXaEX4QAs1/cjVdEwPe2pCu+flgCGOsO6jp7D7n + Ti+kqM/IpUQQr9qr1kOf5G9xjRx2Zrld7UnLE7lMciVN/a/UHVDvBm8F/1NqMGO8lKK+eeOMG61M4krt + 4otQvPaAOgD6/oS6OdJXoapLU9d0nVtOL+zjruo4kTu5lML9g4v7uHjwVvCDyVuUxqokruubYldaFq86 + DaJLZ8RBJBj6xi+mcKOZYYyxOpmrby/3oOdNXJ2eF7tDjyOpMnFzqNzDJYK3gh9I3Kz0rUjgui0FS2nx + LtWp2eLn93BboW+80sSNpAYxfuVxqqbWIjdaFqeq1alEy6DHCWDI2TiVQHmsygTeWhar6o9cp3jt492q + 7pbcJfTkTrZwlrgC6qEB3u7Ti5a9SGcI8zfQ4hi2RjtbHKeqdBdr46MY1gTeWhLN9gV5yVblbGeyPst1 + ofmRzFloFMRLYtg3oW8CRSenqQDGWtYmPntkCSnaySArgcnCSGY42EvmBWnngh1Ma1mChga+LHsFYvyL + lCcjmbfsfb+i4B8TUwIYQ48L8Fgc7cR2JcmLUFZ+mq6n+wMUMZBaAqhzwpXF9UedqTlYkbHaQ7I4921l + IvROQe9w1Dr5RhQcezQuYF8Ap+uxONrxMCUymr1NOcLIbVvUAdK4DXI95IYuH9ZTqFtD/QzC955h9OEj + gSdrAE4cIcdCFMhk5huKHghxiyyAp1Ic7SMzmAMV1VDrxZcejDycN9gPGoRkBMnJkUB5LzDmqRc/Aykl + 5hAwPJ0qwBFfGLg/Om/sCyjIIX8Z2e8nS6mId6BJG2UlkOQAEebtJo54VWpb4Lsff5k39gWcUJwYn5Uw + KZtk7fBsNa2XFUKMd6EIYhHkN4HvDzR6znxbgVv3hgSerPHOhmbQcCV7N+DNRkQhqyUuJqO0owx2Arnf + k9dLb4Mfzo/mMbbGrpWeEovIS9C7BQhHkbZvBwQwhjxelaF2fAAnYvKV2gATG/QiPvp1aVqCj7QXcpPA + WNxa6bWQlZKtUMfDhiOMo+iGgpau7wXsC6yy1xE8OwqS4CMRAMMZxt92HNXFAE4VimIz3lb4n7f97qNg + c8ddAfsCKDzXYr0lcwBDAdySAsBTiQuiMBaFSwUET6PoDMI3n2OE/AXV7wtcYQSjewAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk0MDA4MTVGNEFENjExRTRCNjgzRThBMjlFMzdD + NDk4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk0MDA4MTVFNEFENjExRTRCNjgzRThBMjlFMzdD + NDk4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Rjk3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7U3Gz1AAADLUlEQVRIS7WTa0gUURzFV4mKMqVC0XytgabkmiauZOKDwlQk + wswiycAPGoVSFmRFJC0tQX5Ii4VAc9V87KqhGdima33wQSZWoilqaa1u66qwGSKleZo7OzOM4/gI6sDv + Mvfe//8cZu5cCYD/ivgiT889HFQUYFAxy5zE+vnQw8Lc6xWpc7fHVE0ZprRqkGexGoLQmIUexBpYNK7b + YC57BHNlIcizWA1BaMxCD2INLGWudvj2+AFGFDkoddn67wJayo9W1OT5j2py96A+Lxh1dwOhveULar1S + rF5ozEIPwuLmkriapqKQyZmJ04tzllNgoebQq0OnmtWxNcIeoTELPfAL9er4quaikKnZ6ROUYRLaNRFo + vB+MztpDmDGfBFnXF4dONxfHafh9QmMWeuAXahXeXy3jx/FjIhHlV71QnhmEzpyz0Ocepuffxw/A/Dke + WoWPgfpLbf82wLbq5m7jjCkBfU1RaMwNR3tqErpSE9ESLYfuRjjeP5PDNLwfpC72SOgm621YRcKAyhxP + o8UQg6aCvSg8E4CLW2yQzVCaHoCOUjmM/f4gdZERgZsZm5W1LOCym3F6JAJ9tb7QKaNg0qitF626DE3K + aAzpwmHokSEh0md2p4cMPJbdclqCAInminRwVCdfNPZIUZHhguoML7TlJ0N3OwJ1l6SYGJDjXaXvIjGd + /w0OMmcsl0oYoM+PKa664GIabtgFQ7cnPhbI8OaODP0PA2Hs3YeBlzJUnHc2EcO5XwscTMDyMxEGEBqV + B7VPMpwMrVnO84MNfhh64YeBel+0XvcBtT7WoAh7SgxnZn9yMAGOVleexAIILflx9zRZ0u6SlB3QpLvj + WJgP+605Ji2zHMI9CuuZrBRAoGSj3L4Rvdnn6KYxs2XdkPr1BEhy7TegNzONbhg2TK4bJmDTmgHX7GzR + nZZMN/R+Mq4bJsCRDhDCF3XBVOSShTm50k18uvq/cAj3HJy9dVS725oBApG/JJIiiZi0fRjmIHNqPYXs + MZC6td9AIPKfkxA3Yvjq7QAHExBE9hhInfUMVmI1EUNdRx8HE0CMl0rMmGU1UYYqYsrCffMlkkj+AEZF + 7H7+T6nEAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU3QTU3RDNFNEFBOTExRTRBQ0FFQkQxRTZFOTNF + OTIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU3QTU3RDNENEFBOTExRTRBQ0FFQkQxRTZFOTNF + OTIzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUI3Qjg1NTlBNzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz70M76IAAAENElEQVRIS52SDUxVZRjHD/SBcFOZSgoqKWQQBhjyofdaQQp3 + E+d0Ko4xW8221kLKRC4QRUCJERKklAXEx4UNYYDJh7guAy4IXTTSGyhfFxQklitNZzmD+ve87+WcLnBc + jHf77T3v857n9z/nvEcAMCfG/zYjt2eJbHE2yAUsdvbcSzSxWaxJN84GanyUOMBmsWYhj/d9IRT6tgvw + DAgGrQ/xgAfj/8waJj+ccARPrvZmgkBWk+QvhuLayBiohl7TdTFkt3D/rwnpKf4PamhppicsO10nhgQR + 7zH54PAoyCWha25j+w3CvfvjsjI5WEBj6wVQD05VmUPYZxm4NsprIj0D1+G9UW1+gzt/PJCVycECGvQG + UA+nqlaH3sERac3o7huC14YQJo9hPcKtu3/KysRR47xwP3GRuFPpbD9R4+aIxhAlruZ9DeqdgvHqAMn5 + t+dy7rl5+94MOd+gcXrlgmPVnqtw6bOjMGnzMKTNgakoB5cyP0GNtws64qNB/ZzOrj7xYA9P8fz8690p + YpHy5fPfqiL5YOFXMGaloWbzBlSsWYaaQH8YM9MwlH8SVV4u+OF4FsiBkoo6LHP1YQFqS48w/MvtKWKR + YkdFV0dqMrqz0qF1VPyevdQuedVK947yg2+j1G05DImxMHyciErVOpCDU1RWLYaEih5hcPS3GXJG3lK7 + CVNmKip3bkWWg20m+2TU2FJZ1wRdvAYlgQEwxkXhG8cnQA6JorJaOJpDbJhH6Bu+yRrnEzGESeSEwzz0 + pb6PXC9X+DmtHpusR7v5BGLHcz4oUK7D5cjXkE33sb/GkhXP+LEABQ+4MjjGAmIOaFKga+2UyHBQ4MeE + Q/hiow/yI8J5TRW8izX6Ji9WFGq3q2F45w2kL7IZp5rLNLicBxj7b/A3WPKUFz7KoAPtv8HJ3aaGdvd2 + nN21FUeW2KJ4/6uIWB+A6EWKiqNO9mg/+Cbyt4Xgw4WP6fgvR0OUWiJ09gzzCwrxYiFJn34JqqEutwCJ + 9o/jZJAS1XQOn7+kRNrzHjgeqETD6/tQHhGGD2g/UvFI+KR/hpwhdHQNSQsKiV3rH4zWzl5QHcWaOCQ9 + 7YwEd1eU7t2Bij07+Zyu8keMwnok0s46hbxWZv1DAtoum/gFk3v4bcG3uu9BNYn6qnpkv7IPcSscELXA + BlF21rciba0KI+ZZqSa90pguZwj6zn4mj2PyinPtoLXEd+1dU9ab1GHskDdN+mYM2QBqCGfy8vrzaLzY + I1Fe34q1/lugScmUair1njkF6E8UVEJnuCJRWqsHC6W9WHbw0UkZvK4KMQfIiR4GfwO39UEoPtOEc+3d + KDnTDHffzVzObqDZg4W8m3gMyrkEnD3/E5PEuPkEISPnFMlfZhINq4vQ+lkW4rTGl+0pLPfkpJYItS1G + DjWGEY1sFmuWUN2KyafX5aT/AeFfWm9WHAbkArwAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdFNUQ0ODMzNEQyQTExRTRBNUQ4RTJGMDI1MThC + RTdCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdFNUQ0ODMyNEQyQTExRTRBNUQ4RTJGMDI1MThC + RTdCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzJGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz41vT1rAAAEBklEQVRIS7WUbUxTZxTHS2/fb6G1VWjrwltfgGGRdgaxbkLV + FawgoKJuyMDotjCrw4ERHC/CQBjWDRQLSHnfmBnBmkBi/LCY+GEO/TBGtiwxYW775odly5aYLC7573ku + LbasJWGJJ/nl5J7n3N957nNvywPwQnnxEW7qaqjjzSSFXwtH2GIkqNx5hQXNZG+CcD0rCVsMJrBjmh1u + Gc7eMnA5MCSwHomwxQD0Znu7lJPR7LqRBN+iA+XjG0PqgWHhHP8pBKA3vdooxZvD8Vw+PpqAke9zUXNX + j/P3LDg4oOXqZf71SENCLgLQ5qxaCYqvbcSF+9loq0/ClF0Dn0kJn1HB5UnbBrTXJaHlm21wXIrl+v1D + hMGuEDGFNmWeFCPPrcX7d7eg7YgaM+ZEzH/aicWJITyeGMTi+CDmuz/G7OZkbv3wZBrsF+Ow5czSB5B+ + TFSqSmUkZFhUiJjbeb0KBUN6VN6xwHVCBR+R/zQ2gIWeLszuysa0UYPZ3CwsdHfh8Ug/fBnJcB1fh73D + JuQPGJHfr+c8lESn0LIsNrwh/H3rBQ3239yEoi9TYfmERY+ZxYOOVvzQ44Y3kcXbpSy2d8jxTrkc3iQW + c811mGtv5vqs3Sws7hjsuJyEHW4DXqmL47y8hGLBaUutGrv7DCgcT4PzuomjYMQEr1aGxe4O3CxxovZA + LIo+S1nmXJkGn+duxUL9aXg1MhSOkfu8Jjh6jcjp1MNcpYZuFzPI0+Yxpdo9zLw2n/mF8JtuD/NU52RA + 6d0gwaOORngz9LDliJBQIoL+kATGI1I4d0oxasvEd65juEb60ipYpL7FIqWchYmQWhkN5Wa+i7wHnoCg + JhgI6QQzIYOQ6VaJn33bUAPPNivOqUS3RKqoHKkuKl8WH1V4dr1oZmJfHuaq3wXp+0du4h8NEJ3Cr4jZ + xH9PwPKsxEPeNI8nIrCEGILCj7JFKbwzcXAfbh9wok0pfNasEA7XxQirmxRCb6dOiftnqjBS4ECDQniP + 9McGEedHzZvvVUWkKZrZ26wUod9uwwx5D1dybOiyvIyruTZ8daIcU2WH0ETWq1imjMiYFdCTYajIQ0Ak + viBfTutLAjSk6nHjcDGmS0u47N6ehQ/XM3+5ZPyPiIieQvj4+pISf/9ZtCq/PtyJqZPJaEqQ4LxOhMZ4 + CUYr4jF9Sk5/ufwlU4S43RzjIWCtPH3iDL72+HVcBP8z8Car5bRGdyEmyFaD9OLJQ+tzHljxxyM7aJ2s + Lz9JyICrldK14CEQeTbHz7PpoNeXj0qHiFe4pF8xoHW/eE20lIj7SMaP40bQXF8oHiNOegzhn6DmdcGa + +WC3oI9knLILhokvRE4jZEDVa8z/ggSV0mMJkdN4PgC8fwGKe+JSzfQhQQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg4REU0NDQxNEFBOTExRTRBNzQ5RTJDOENEOTZB + MEM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg4REU0NDQwNEFBOTExRTRBNzQ5RTJDOENEOTZB + MEM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUQ3Qjg1NTlBNzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz55z27YAAADl0lEQVRIS+2Ve0xTZxjGTwgt0EN7WrFqh9MFrdVyE3VMuyVj + WTITRTcz5/6YZHEar0A0JBMBRToMl1QEBURsRSheJhFwVC0yjAtEqJe0IhdtLB0a8TbjNMYtYe7Z+zEx + R9egyzT7xzf55fu+93ne50vO6YWzjRP+EwCGxefQv8FXqBhfQ0uJc8R94sGT1UksJ/7h9xUqhqt/WyFm + a0PkO3Bty4XHaoHXuhueqt1wFebBFh0G0gue8/sMFcPVhMqHWFNH4b2Vu9BRlA/bxzNxWDsGtrhYdBTm + w1tRhrqoMJAvUTTDvbCqNfwQnWdyjOgqMsGq4X8tGS0zpoUEhtI+hbS7jsxUOLZkMq1bNPMkZZiyjJYN + 8YenMAe1C+agSB1UKOozsvfFvYeODclgPrH2wirRju0dRB0Id85GmKMmoGC8+ib1vE8Zr7691zAVFxKX + gPme0YahmGB3BBJq04iAAWdGCkpnTUOWUlpJvbFDGFXSPdb5s+FYuwLMJ9ZeAs6f4I1Kid26cD6Ofz4H + 2UrJwGZBYkkXJEm0lue+pUTbulWoiP8EGwXJKfIrXhrHVhWOZAhhtV8Hd2UqpSj7yIAGeg/bPzQgP0aP + HXEGNC9LQM1Xi7CJdPOnsh9b8pQJ7SbVVQqQsHl7ljKGzq0tearE1nxVOu2Psh7TuJPZArYsloU3GYXT + 5rlBA5ka/z8zJk/AwS8/w+EvFgyupvdjsV7wu5vzrtR5bJPCXLNesYzmHjd/J9xrL9WgYCn/wYksoY3O + j4jfGjcLjcXLgw0smzuSJkdyfODU2lR5m6dpCnrqImCaKR34NsTvcaraH+mhEpTOG4nyBNm9+jT5gwMp + wRW7VvMr2y3jcMs5DT1HI1C3Qd5P2u+3zsfgjmsGaP+I9Vg2V53MozKR77Ym8w+99nD0NUbgZ3sEvCci + ccc5C1ebQtHfGoO+5kj0n4mFNYn/pSqJ73M3RuH6T+G4fioaV2xTcMMRi2vNUTSrRy+dr9j0YNlcyTdB + OFsWhl57NNyH9Og0C+jaq0LPvlG4/P2IQdw1IfDUa+jySLh/0MPdQMEt0+Em7dJ+FS6Rt7s6BJ0WARfL + FYSS5nVg2VzuogC4tk9Ex85JuFCshWsH22vJpEXXnknoqSSsOgrS4fJBHYWydTJBj7NKN+jpJC+bYbMs + y1n098qyufR4KV4n9EnjAgg18fwX5FXB+RHsEvbD8jp4U/93+foffXWA+wv9GwQ30fQQcwAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI2OTgxMUNFNEFBOTExRTRBQTEyRTc3RTczN0M4 + QkQzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI2OTgxMUNENEFBOTExRTRBQTEyRTc3RTczN0M4 + QkQzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUY3Qjg1NTlBNzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6CerVFAAAEkElEQVRIS6WVe1BUVRzHd7n37rK7LLtsLs/ltbsgb8RBQDTl + FaGW4SDWmI8sLAGRtRUBRUhUXhKPAkOReKwmsQIOEOboOsofKlDDI6UZCaH4wwbTcey/1Pl27oaEiV6r + 78xnzu+c8zvnM3PvzL289kDt/4Izcx36N3CmNUDL8jMphVdLbQ6Q0YLAn17nhDMt/hre1/6aX0ipvFwk + R0+RvIDUQgKf3eOCM81+at4pP/UkKVXnD8hws8MD5/JlJWRulrD7L4IzJ3zceQYfd7Og+xMZ7t0MwUib + Fl25f0vYnufBmUZvV16Dt6tZ0JFjjfujofhtZBF+MGrRvsd6RsL2zQVn6ua78I7PdzELWrOkuDsSjLs3 + vDE1HIyBr9xhzJTOSNjef/JSqfF0NgtO6a0wNRCEO4MLceuiL273B6GvwRUnP7aakbD9T3LU03m64kiV + 1sksMKRb4faVQPTVk0t1Vv39TW6Y7PHHlWMuaEx7VlKtdZquOFKudjQL6lIkmLwYgNOZMsQGMqFfpkou + 9VSrMH7OF5eqVKhNljwlqVA7sgN3DrvZmwVfbBVjotsXJ3RShHrQfgvcKKfabRKTqcwRox1euFDmhOok + 8Yyk1M2ePc6dAldbs6Byswhjp71Rl2yFUC3tQ9akMf60oup9senbQnv82OyJs4UOKN8kmvOdPDf5zsrJ + Y47SXad9rNHtIUenWoZOF9nvhKEzzrJtkb60omyjyNS53xbXGz3QkW+P4vWWLy+pVckfdPq7YbC8CGOG + OowbajHWVIvBimJ0BarR7mxdvsyLVhS/Y2lq22uLoVot2vbZ4WCikFtidJKmtpPLbzUexXBlCbqiw9Dq + YY+uiBAMV5RgvL4G7QFqtDhJ05Z6UoqDCUJTS4YS31dp0JJli7x4DskJB8n1vsJ83KgsRYNKgo61dihY + LUK5o6jE4CC515uXhd5DeSD1CGm3CNdSity3hCZjhi36ytU4qVci+80XSOrsxI/GKgrRtmYlDvlZYqBC + g8JEMV7zpcKOOIgqT0aEYjh7B9i+3SsEipQoZt6GxbR6zyrBtQv7VbhW4o4m3TxkxAnmllQrLR/fLNyH + 4wEaZIQI8E22A/SxzHdZK5iHBa9aoiF8AYa2bwHpI4/jL/ITRNgdxwxlxjEP2vS26CZn6re/Al0M86zk + U4Xwj4EcPY4sXohcDwHK1kuxLphK0kXTY/kawYRh9evo1X2EUoXw8Y4oun1nDD2aFkmfSVpKZadH072p + EbSRzC+T9cnjyQqQ+dOSQ3Kmy7B2Nc4mrMRBGwY5WgZ6Z7ohx535tchRjqs7k1H/Riz2KumfNoVRKanL + 6fMbQqm0LeFUFluvX0Rt/GAJXUAu7kuPosGybdksSa6UWpUnF6AmMhyd5D18tjwcJUE++DwiHKakjTC+ + uw65ZP89sUUSOSCbxmZ6tCbIZ63ZEdjvh5IgIbC/Xx4vRco83iWhHuZ4adD8djxaE9eYx9IlIdBLqEcf + WjH3N8ssJ6YZnzXOrp/sz7CJrJsFJJI4AT8mWcRv1In5U4T7hDtbRXxjtIAfT/ZV/w2e6k+0FURyr64p + kAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkExMzE0MEIyNEFDRTExRTQ5MjFBQ0MwRThGNTU3 + REFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkExMzE0MEIxNEFDRTExRTQ5MjFBQ0MwRThGNTU3 + REFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RERENjE4NDBDRDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7V3v1pAAABvklEQVRIS6WUMUtCURiGHSKhQSURRbJBIRcbgmjtD7TVL2hv + qCFoaW5oaPI3tERBS+BgEIRR0WCUUEgUgkESYYIhcXrfc++p6+0cPRdfeOD77jnf811vUCg+PTsSQoiB + aIeCoJN60Q4FYWh0Qz6KQBgouhpzcGkYovcttPDM1Zjjk2nftgubzTOX/l+FB15Ep9sbCTpctRP/go/O + 10i4C8KOHfEtGPQHtSKWnjmCNuHYETzsA0nwYrPVDgRnMLsCFumgSMYrJ0iYl19e3wPBGczmAOXGT6QQ + 9cabhLXqTbXqoft7cxUc6BC1p6aEtepNteqhm3KsnuBAh6g+NiSsVW+qVQ+d/YLr+2cJa9WbatVDZ7+g + Uq1LWKveVKseOvsFZzcPEtaqN9Wqh856Qeu4fCXKlzUreDeeKbShs16wt7G9K0qVOyvWtnZENJU7hM56 + QT6ZnRPrWHJQuhAn57daeMY7vDs+EV2FLuVYPdHIJdFkbj6Wzu/jp3+i//3mXiYzhU4kmT2FfBOqBRCR + Um9wUQsyBvhGHFwCy4D/a7zwGc94Jwk40x+dXIFwgG/FRfy+OnjGO//ljE4chMEJhX4AMnDyVRS80DQA + AAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM4QUEwRERENEFENDExRTRBQTE0RThCQzEyOEQy + OTc1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM4QUEwRERDNEFENDExRTRBQTE0RThCQzEyOEQy + OTc1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7dyRkqAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH + prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 + U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB + 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD + QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG + 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU + 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao + GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc + 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 + /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC + Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ + KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o + VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX + 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 + seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt + NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei + /A9dc78cqtG90gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg0OTgxM0U5NEFCMTExRTRCMjhEQzlDODM2NkRC + RDlGIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg0OTgxM0U4NEFCMTExRTRCMjhEQzlDODM2NkRC + RDlGIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REEyRTIzN0FCMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6v8JhMAAABX0lEQVRIS+2TvUoDQRSFJxCCUeIPYiFI3sA3EGsLEVsROzFV + YoiI+AOCmkrQblLqmMqfdL6BD5B+t0wVyBuIHO/dmXUncdiwZk2VgY+7e8+Zc3eWXfFenBsJALE4NyXB + FWrj3JQEV6iNbZYEUkAKe7VWCiHovT6h99akqjStwWvSXx615/lBV+5zz+zlHCIa0lyekQSYrmoENY5h + nq6S9r0UjaU8Ovd1dO5uiGt4RyV4tRK4T7AeeLzaAbzqvq6khx5+SK1Tz+g6r67124WcJOBfVOGfltHe + 2QTfX83nFFXWI8/5IfyzCtp72z8eHhDplMH67lakX85mGUngY2MdXE8KWWX6Nsaz1ucJl0sPhOPpTIgk + UM5nlNUb5JfHXrZuWkJUpoRYLK5KAimjvyQzAJ9fSBXOtAf8ywmCP5kuxjLAecxR4MyxnmDyilxMXtFQ + +k7wZzgkDuemJLhCIyC+AQJpG34j81bcAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGQUQzMUIxNEFCMTExRTQ4RjdGQUM0QTdFMThE + Qjc0IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGQUQzMUIwNEFCMTExRTQ4RjdGQUM0QTdFMThE + Qjc0IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REUyRTIzN0FCMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7HZq05AAACGUlEQVRIS7WS30tTYRzGp+Vym9vUVVuZ+w+Cuou8DLoLvFFL + yKQf1iQwBpqhbGLrp1l4sbfQMpZgPyiI6DII/wEZJhVdxFCMkv0HEk/v854OnPdwOp6x9YXPeZ69Z9/z + vL98AP4rjoO1xHGwlhgPS71PRoUEVP6OJQ8KCSpE/DPgXTKC8usFUCXq41u/URHs0QLetkeEBCblVwWU + X8wrP9keX7XMzCv6Ct4cCGNzcc7g+ROpj7F+f1J5vnP4wHboAS/bwvi1MAuq6dfuZpQfbEs4boMbDNEC + Fvc34efTPKikdHNM6VwiVOBsLDPzir6CZ/tC+PHoHqgSQX0YDxZ46PyzrdkLesB8PIiN/BSoEmHq3wDH + bXCDPVrA7N4A1h/kQLV5zr76FeT3NGLt1jioyt/JyEPOKj+UiFV/TWdiu1C6MQqluavKfx44idL1ETXm + tA1uMEQLmG7143s2DarymTQ+9XUqf3F381fb7Lygr+B2ix/fRi+DSpZ7TyjNNvtrc01z0QZ8GU6BKhHU + sUiDeU0dt8EN9mgBE5GdWB06D6rhz5m+NrdoPLwDK6l+UA1/BiuX+pQ/3Rqt/hZda6oXEiwdO4LihVMo + DvRi6fhRFM/2gONO2+AGQ7QA1nCoXkhAlvu78LHjsPLd0XD1t8ha6WAdPnQcAnUwUKcO2iyzqRKMh6Wu + BHxCglSjT/s4y97sBePhsezN2wPfH446+pStKAUKAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRBOEM2MzQ3NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 + RERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRBOEM2MzQ2NEFDNjExRTQ5QjI1Qjg1RTRCMEY2 + RERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTMyRTIzN0FCMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6xBZbXAAACOUlEQVRIS9XT20uTcRgH8N+ch22ax7KDOilzGmVhBS2Qojbx + JjSjOyVBMBui1VqYXthBMIqgQF6LNVgidkKQcJJBIBQU3hgOpiR1Ixb4R8S35/fyvvbz7cES7aKLDy+/ + 5/B9djPh9/vXBcCq2CVDjKn9hgtVsUuGjTkQc2exaDnG1a24UBW7JP13B8qJl5SSbFnbsAOjRZlVbw6V + 4m3VAUwc3I0xz1ZQrV4eoK/sSwNE1sOk0qjpuFCVeF6QMRwPBbA0/BhLQ2HM9YQwUrIZp04cn6Ce7D94 + d6Za73/qaAa9w0Zdx4WqRHSb63X86gV80+5isb8Pr7x7oeU7+30+3zj1bsr3onYHie52DBZsQk+e4xjV + 5Z6OC1WJgS2OjzOXW/D+bA3mLjYjEWjEs33F6Cxzf42W5OPLrU7M3wgh4s5Bb25aqxDCRjtyT8eFqsS9 + 3NRzkfJC3M5JHXm6fydmGuswGzyPF0crMN3WhM9d7Yh4duB6dkofhSfRvNxZxoWqRG9WsnSYllPoq0X3 + FGOqzo94awMSl1rwpNKDrszkh0bfnF/GhapEd4bdSnu0azsmfV4MUXgw3T5I4U5mTseFqsQVl83KTu4H + 05N+tDlt4dNptjJLfwUuVCU6HDz5P+DqVlyoil2S/ukBCq8h38nL9WAPUKOCLJAj1h7H+outVgxTaCGZ + JyfV+mq4UJUMNbnIB1Kr1P6IC1WZg3YyShqM91/jQlXmoEYC5tJacKEqc/CaurQWXOgvED8BwmqyacXu + n/EAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ + mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ + Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX + E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 + i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ + CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw + PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT + tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p + uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V + tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN + pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG + Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE0Q0ZGNzdENEFDNzExRTQ4OENERTg3M0ExRkU4 + QTFDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE0Q0ZGNzdDNEFDNzExRTQ4OENERTg3M0ExRkU4 + QTFDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjAwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6Ak4wfAAADR0lEQVRIS7WUa1BMcRjGG2YYH3ww5NJVyG3GF9KN1U21KblN + yaV8cuvC0IyZInJNIboxZrvJFk1CtZvNlHTVTC1FKxuVRsgsbWyifHi85+xpt+yEY/TM/ObZ/3vefZ6Z + c+YcIwBjymhaSHhx/ifx2dXJR63RaMi9tcff6u92wzatrCLA4OO4GD2aPtaHZqMxym4VF6vXLl97NBUl + oUmSjMSje9Ct7kVi1G40FV6kWQpayrKguJ+Gp9IUNJeksjN2N2qXdpf+o3yYw15nsihymjaZ0w7PpajL + PQ1ZfBAiA1ag9XUHIretQn70ZuQf80NF6m7cPb1Ve47aSDN/SGICEBXkBGVHOw5vF+DOcX/ILgWDyaJI + E20yJ3/nJShNCYQ43B0xgbaI3GJD7oCs/auQESJAxj4XZIS5IDdCiKyDbsgIpTnNzgTa44D3InI75B8R + QhLrByaLIkcW+DosgCjUHaK9zqxnHvSCKIQCI320c45UmolCV+tnwdr94TBZFDmywHOZFf4nFDmyIGDD + /PDOl2XoVEqhyMtk/V94qbgHJ0fTWIr85Rmst474oXmMwc+1UMlusc6X/k9VUHdXQ+hmeYqL1ctv3bzo + tq5GtHTUoV4iYZ0vza9q8ExZSwUWcVysXpvWzokZ/FyHAXU5PhRcZ50vX1Wl6HlXDk9X8wQuVq+N3lbx + z9tr8eRFGSpycljnS4PiPhqay+DpYnaFizXSffXWr5mdMqB+gO8fJei6nsw6X/q6C/CpSwp3Z7N03dd0 + 6Iev0DJN3lKKmsYCSC9fYZ0vlfLbqJIXYbWTabZBgY+Hhfib6i7634vRlhDNOl++vLkG1eubcBOY5BkU + eLub51U25ENWnQnxiZOs80VakYaSymy4CkwKDQq83EwL+99dQ19nEhRHw1jnS29bAj60XoXLipkygwKh + q0lJcXU6cmXxSNy3HzeKL/AiR3oe4qI45BYn0Zs846FBgYfzrHKV8iLePjuHmkM70fnkLG/a5TFQ1p3C + SlvjR7oC0jhigpPjTJHAbnq943JjuYPNqDz+A412y6Y12S6dmk2ZU4iJTMF4YjIxi5hNmHGYc25BMPPh + zCEsCSsO5sxgTcwn5hJM3iTdLRobYPQTdTQPZQeGFN0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ3RTU5RTMxNEFDNzExRTRBRDBBQ0EwOEMyNjA2 + MTlDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ3RTU5RTMwNEFDNzExRTRBRDBBQ0EwOEMyNjA2 + MTlDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjMwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7q/i/2AAAEZklEQVRIS62S2U+UVxjGv9umCVpkACE4UA2NoLIIKMgSK6DA + sMu+iZRF9tUBYUBUQIIoSnEZsCj7LijEkXVYRKCovbFJY/+IXvT+6fseZkjGdEhNOsmTX97zzTy/Oed8 + EoCvyld/9D/cZ3qgi7Ktj7nZ/r985dKrvdJ+xBJfxkcuTdOzZl29gWC7qeUO9GHB5+U+fF7uxx/aXmLf + F+wXhX8qU3fTetgCn+a74WUjvdbVGwoKy8qRdCkd2fkFQvBxogXvemux0VeH9Z4abPbX0azC1sB1scaC + 32LPYMVDjo1oTzTYmmOhuxbu1tKcrt5QkJmbh4TUNDBZsD3aRIU1ePusigpVu1x/fg2bfbVC8CHqNJZc + bbCkcEO9rQwadRVOWkkLunpDQUbOFcQlp4DJgl+HG7DWXYl3PdWCXKyfWcaC9+HuWHCyxlKQixBMd5Qb + F1zKzMLFhEQwWbBBR/KWClefVlCuCq5TMZPXWbAV5IxZB0vM+x8Xgpm9BKmXMxAZGwcmC/jMlztLsdpV + LrjercRKZxnWSKBVlwjBpv8xaOxlmPM7urOD9hLjgsS0NIRGRYPJgjX6tytUrH1STJIyLD4qFLOeLFj3 + tceMnSk0Xod1Oyg1LuDzDw6PEPcgdkAXuvBzHrSPi7DYkS+49LBglyxY9bTD1KF9mHGXC8GL1nzjguj4 + BASGKMAUO/hFSUX5mHuQQ4I8kuWKeb79CrQ6wRIVj1mb4KWLjU6QZ1wQEROLcxeCwGTBSmc5ZtuyME+C + ufvZWGjPMZhZME+v6JCVCcZPWKNeLsPo7UzjAkVkFPz8A8BkwRKd9ey9n/D6TrqgpvUy5toy8eZuhphZ + oKFXdPK4FQYdLVFHgvHmLOOCoLBweJ/9EUwW8LnPNKdCQ4Lp2ymC+pnJgp4fLNH4vQUeHDGHSm6GoVtp + xgV8/p6+fuIeWPCmLVsUv2xMEnzVlCyKpxoSBVupuNH+IJ7nBkFFsupDZhhu2EPgT+d/6ow3mEJwLxuT + NxMw3ZiM8euxglO3EgUn6uPQZGcOdbIvxuvjoU7xg4oEvapE44Kzgefh5ukFJgumW9IxeSOOymPwoj4W + Y3UXxTxaG71LFo+ooul5HAaqI9FbG29c4HfOH64ep8BkwQwJRmoiMUEC5jgJmCwbro4QQp6Zw8SBaxHo + q4mFm5U0r6s3FPjQBTu7uYPJgombSRhTRWGgMkxwhEo5g1XhYu5Xhu7OoyToqVDsLfCiCz7h4gqmENxI + QP9VBYaqwgQHlArBwcpQ9FWECPLaKEl2nofimTKKBf9+RKe9fXDMyRlMFoyoYtBbHoKuwgB0lwTtsPiC + YA+tPy0MFLM+6oIAdJaGw/WgtKirNxR4eHlDHxb0VkbhUVEwHhcp0FEQDHVJmCDPDwtD8KQ4VJDXmR2U + uznn4WQpaXX14vMNx+Q70wHKJ8rvHNmB/X/TF7eOWUjvHc2lD/81DjLp41GZNEydNpRvWWBNsaU4UFwo + J/+HuFIcJUmy+QdCMju4m8uS2QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzNzQ2OTA5NEQyNzExRTRBQzE5ODE3QUREMDMz + RkNEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzNzQ2OTA4NEQyNzExRTRBQzE5ODE3QUREMDMz + RkNEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjY4MkNFODIyNjRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7LYcOsAAACTUlEQVRIS5XW3UtTYRwHcP+EoKtuouiii2gXlcRKykHd9KJp + YXhMe9PK2nqFBhG+gTkxX1rjtGah0UVddBEUiPRKJDIsyaY5dNWGbm2uZBgiZvXteR56Hs6Op/N0Lj6w + 33me8/0+nIudkwPA1NLla1UCEkmilliivz9r0CM3KFUuNxZ+wVQi9RX1nmu0qIFYps3ICtSjBZVON+YX + fpsKdN9HTWM7PO1+WtJMrOAZi0IpsmH9X8pR50XM/fhp6mbXPRqsums9aPXdYiU8yyhczd9RApnV6/KR + t70YsXgKwcEQWrydzPvRcVoQ5nlGBZiZnTc19W0Gj3tfYqOjgIlE41nrNIPnGRZMf58zFUukscqWh4c9 + z7F5WxE2bNmJkfGoWJcWpDOzpj5NpmhIZuWaTXjw6Alyt+6CN3BXrEsLkuQRmImnM3j2eoDpfzuMiuMX + 0OG/I9alBZNTGcZut8NmszH0N7+uV37sPNrUbjFLC6Jfpi0pqzqHq74uMUsLIhNphp/+X/g+pfIsmr23 + xSwtCEeTlpQeOYOmjk4xSwuGPyYYo1Nr8X37D59GY1tAzNKCd2MTlpQccqGh1S9macGb0RhjdGotvm/f + QRfqWm6IWVoQDH22ZG+FEzUeVczSgr6hCGN0ai2+r7j8FC43+cQsLXg1OGZJ0YGTuHTlupilBS8GwozR + qbX4vj1l1eTv24FcRyFDMlSeZ1jwNPjBkkKlmoYqBHtRafOywila0Ns/YkmBcoIV6LOoRRdoQU9fyJLd + pdYK/uczRU8882zI+QPBTkk4sL23wAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z + Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 + 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT + O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 + mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA + mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI + lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j + CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 + +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug + QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb + dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf + 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 + ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 + mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y + tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA + AElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY5QzgyODdDNEFBNjExRTRBQjc4QTlDNkE4RTgy + QzFEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY5QzgyODdCNEFBNjExRTRBQjc4QTlDNkE4RTgy + QzFEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTkwNkVCNzZBNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5gwa99AAAE3ElEQVRIS63Re0xTZxgG8E+WbFMXGSI3K1AElAlRJgFUVNYI + qIAXLiIFKXcjq7IxHajRMYZDRASDAspNBStoy0QKCojcKQJHtAgqCEwnHuY2dCbG/bPk2XeIPdOFxsX4 + Js8ffb5z3l9PPvKuA+B/5c0RRsXT5P2byATa6tBMmTh/bSZbNlneHGFkgbydBZfyDhbETHKKth/RcMh7 + GGFkYVbVCA5euIfDij4QwaZztJ1K88HffzURTd59hBGnMioGkSi7g+SSbpDZG+W0nUbz3oAzqfTfJ5b0 + YX9hJwcoaPtWQBJLCmgYTUJ2kEJaT3J3wvCSRFk/EgrV2Jun4oCfaPtWgC5kBh+l4P5oBs0xiLeRHlpP + cnfm4ef2nbmNuBM9+Ca7jQMu0fZ1QEeTiedfTfB2wtwa3IXrfeFQ3YqATxhR03ri7iYe4Mc8rCw+/xak + x7oRe7SZAhuUtJ324lmdiC4VTxJX7jWxlDBd/WFoU29GvSoI3sGkl3uP5r9AqDw2h0HUkQ7EpDdwQDVt + p718fjVYmb20XZ72GasJ/a2i8BZ6PiXgS8K09wahqccfNW0SrA3SCkjKpVldEB9oQ8TBegqsv7JggfAT + DriQasO+fLYZmsgOzB8be1QR7u/7xYf+2wjTcjMUtZ1uUDb5Y7VYG2AmqQhNUyEgqQnipBoQk/V1PPDj + PPbFbyI87LTG+OgyFO2z/HVk8Hy060r7j322EuZqlycuq9xxsd4D7pu1AiGVoamtWLf3GgK/q+aAqxrg + fLI1+3xsCYZbLcEOOSJv99wJYImz7dQN0YSpux6MimYnlNf5YFWAVmBLte/+BnjuugLvnZcosK6BB763 + ZP8cdcRAvQUeDzggb5eQB7wjCXOpeSkU15whUzpC5K8dqPHdUwuRtBJeXys4oFkDlO2zYJ8+XIz+KnM8 + umOPk3FmPLA2nDAVjW6Q1cxDcaUjVvppA0yD69bGVWHF1nK4xZSCGHu38MAeITs+shBqhSl+6bPDyVhT + HlgdRpjS2kUoqpyPfIUdlvtqBYKuuUkvYkloKVZElHBAuwYojTdjf7+/AMzZ2XigtsEJqYAH3CSEOaW0 + Ra7cGlkyKyzbqBUQN7pGXcCigGK4SIoo4NWhAc7tnMM+uWuNjgIjjNywRG6MCQ+IQgiTp7BFerExMk/b + wXmDdqDFKaQUC/2KYB+QT+/Aq5MHvprNjvXNRetxAwx1CZEbbcwDrsGEyThritQiUyTnCuC0TisQ2LY4 + sBjWnifwuV8O/QLPbg0g227MPlaboTFdHwOqOciJMOSB5WLCpJ02QWKOHpKyzeHgpQ2YE6iy31QES/dM + 2HgeATFa08MDMUbsaI8Al5P00NdoguMSAx5YFkiYlHwBdqfPQsJhfdivIbfptjcAXRoBEfjdnOeZRYFD + sHJLAjFYdXfGjOlWvTdOS89EGzwZbDOCut4QndUGyAic+UdTfda3urrTLZz9iXp35qeIS9HF9sSZsFtF + Bug+Mxp9bjk3c2kciKGHkhi6D5JZomFi4DpM9F1qaL+0pip9b8E2y94s8czx9E1644f89J5mhlnclZf9 + kEzPnW09iJLmvo2IjMxfSX62diG1tHd6tZcf7pO4L5lFY/ha9Ibula15MCSP6leXxPR0Fu7QpLsjz4ee + z6CZ9D1CiM4/X3QnEat9eLkAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEQkVBN0RENEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEQkVBN0RDNEFEOTExRTRBOTRFODY3NkE0MTRG + NDA5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTY0QjI3MEFEODRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7lChSUAAADYElEQVRIS62VaUhUYRSGz9geETlWP9RxXBK0cq3csNWaKS1z + Q5oJS8NMMvpTP1qgDSJabLFssQ0NQqJpETNq0mJGk2kxsrLMMhiyZUonzZK0PJ3vu46Mcq/F4AsPfOe9 + 3PedOXeYCy4eAQwtYSRwEGF5WluBsdJUg11/cNBgeSzXVoC/uroHHZbbW9DR+Rstzd/sv6LDsCwGOwMT + O7R3dOFHixVdFFN/kqUlUhzBlsXoU9D64xdav3cws5usYMLdEWxZjD4FLW0/OT2mG7/ggESyBNNibef0 + mOzTOCSRLMH88LWNY1+wYj0MI/wJbzb/j0SyBNP82cqxL7Bp+TpIJlLpKBMcaYlkCWZjUzNHrIAk0+TA + mdRsWEpnJ8ESl0iWYL42WzgSBUDhqctywBCTCBNolCwRyRLMusaPHKmClDUQtnmfoj4pE9bQOJQQXZdI + lmDWNrznSBUkZUH01lzvhoRMKKJxOCFZ0C9LMGtemXHH/hPoE+RqmhoBkWT3CUhYDavzCqOaFqdDJY0j + CdE12bIY9gXHt+7OQ88AX1RpnN4GRUM02b0B8ZkgJ27frE7oVGnhIVmjiCH8Yj+x0AfP33HsC/w8A5W6 + +Rqn+vSNLo2hcyGcbL7nuFUQSlzKPR/SdEWf2DknBSrIH7Dg/tO3nN6ChRngq14JxuPFYdbDRVFfVSug + QJ0Op8gvW7vDtf60LrJFb1qCO496tUYsgXy6ZcACQ00DhxcsWAlKQn+wMOhLiWERXigLxNxCn9aCy9Pb + dOULOkurVHjdEIP5F6dgctZYc3AMxFLOCELyGdx99IrDC+alwbndBf6fLlfMw7xiJR4t9iGUeOZqMOZf + 8sFjFyNwzylvTMqciL5hzihXTGF/6fxmKe6Y6jjsDLOWgcdsLeg37B1vyS3ywL1n3XFPgRfuynfHLQe8 + ujM2TKRwJWZv1qDudhWWGp7gzapavFX94p/wApJsRjz4RSSDMXvbuJac7c7tcemjzTNih32Ypp6AWZs0 + mFd4Fq+VP8SSe4/xhvEpllXWUsmzATlyTofObv4v+d5IspCFEDJtMZjUaSPMftEQT29ST7n75JO0kt9y + tpJ/rKU/zm5+b8a4KA715HPJAlUQFaCGx5PCIYhm9iDZr0VBzCQSCNHXpASJABD5F6q3LHH6EbaVAAAA + AElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGOUFCQzZDNEE5RjExRTRCOUJBREM4MzEzMUQ1 + NzQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGOUFCQzZCNEE5RjExRTRCOUJBREM4MzEzMUQ1 + NzQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODlBOTk3NTY5QzRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6aIUJsAAAE0klEQVRIS6WVbVBUVRjH79297/fu3l2EFRCCdBit6YOROU2p + yALioLwkmRiWKCDx5oLyKqy4IwoEgyAYRC4gb/mGmIKBFi8mIBLql2iChnJyhtQPzTh9CKE9PWdDBCOk + 4T/zm+ec5zznv+funmcvcbfUZkG8UAPFNguF6S+yOfBdkc0IjJ/A+M71PG0oWFMASdw6pl0IQl+h9upI + 22voToU9ulmofQg5y9BFN9SZqymAD2CI3gLtvOn+RLu9J1/bdypR7diQrJZg/PVwy6uoI0fTEruJXw2G + TpnbxLXwBEM/nF+KmjLkcOLbPM286MrR7IQ40ZWruW8MEZbDvOPHS6+gVpNczdKkE5jrADUglH4sre4v + 06H2o5rviY4j8gv55rC8G+JEe7b8a9Z2Qd9mkrsHLyxHzUZ15aS5LcADCoAElFD7OzBOXDXJc9KaJYdD + /KvtkHwvK0TQNxvl3rsNrqgxbYY5N2lsVYtRdoM9lisH5RGYqP+Ty5nqSIiW5kz1L+nBvL4pXd03UOOC + TiepTjIUMWVev0+lgzrlP+ZqBp6s43bDMlQZL5mIi2mqWWlKVUVBtED8OTmI159NUt26edIZ1SVIFZPm + i7D5hVTVZqj7E9aNYZ6s2JSmauyvWYpO75cuayXShTibJP2LM/ulWIgWiCOJ/py+PkHqv1HmhMyx4qdg + uuSpOZgEQd3YmSTpkSmE1zckSpd6Kl1RrUFq0skKF6ixJeoN0gzq9krxEC0Qf4r34zyr46SBjuIlqGyP + eGK6ee1eaQvUjdUZpIfJgfzGyhixtavUGZljxAtakXwJauwAnqiKEaeojBYNEC3maHE4bD379udR4sDV + Agd0fJdQMs2chfX3oG4MTB/s9eN8yiPFa9fyHVBZpNComW6Ob1XFHsHKZ5GCAaKlPEIYClxFv56/g8+5 + VuCIisL4KiicMi+PFLZC3ROofxDry/qU7BbavzpqD4fgz2kEq/n0K0sQpbt4zEpgvCSMHw1aRa+CtH3x + Tr7LHKdGAW/Qb8Icn4g7Hsa/P1n3W5QX41P4Id/x5SEdyg/lTsuzmWMd28ERhaFc3blMHUrZzEZCygFQ + 5W/nyi4dtkfGIDbL3VW5uOADLh5qJ6B2NHw945MXwnU2ZtihnG3cFwJDOsOep/3wzBwLCjGPcrdxD3nG + egotQMV4MzrI3TufoUOwbrl4xBHB/P5Ha+gN2Vu5zrOpdsgUzNXTymf9AMw0x8oOZjHjpnfZuzB1BAQA + d6UiwoN2MwawDbA2mOHPngl0p9ZkBbE3GvbboswAtvY586lOnqGsQIY4GMAMAo+X6RQvQ4rDOQwId6cI + 2K5wULhm+DPdtQmLUKofU0XNxxzrwCaaSNlIJ1XH2qAEH7ocUhJA4jwGpAh9i7JN96OvnwLzfRto87zN + scCc0K9Q8km+dA+MLQYvugTm+F1IwpyEvC/E4ZoUO2Twpiv+lznWPm/8ZiPIYHelo0FP9ZrhSSD3R6IX + dRviaFGEjOeW6HXUCUphNbd2Mt4zuXduGTwpKyCFm46UI96h0uI8qEHIjQOPY9ZRV4JXKrfA+tTfBEBO + 2ze34jyUU4DwNcMG+KouBvCtwn2BGw2/rfAvTz63Z25Fr1XOAIS/V3w0FsBdiT8QG+NFcpb6OUQQfwME + xz0xnqHypQAAAABJRU5ErkJggg== + + + + + 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 + TkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2RDcwNjdGNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2RDcwNjdFNEFDNzExRTQ5NzBEQzM2N0EyMEYx + MUM5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5AqY9iAAACh0lEQVRIS+2UXUiTYRTHjaLcam2T6bRY09yn7Z3TLJit0hmJ + mqL7yG0ZiNKH9iVKVJquDwJLLyqji7qwSN3UrIQIKwqK1yKU6Kroqhu7qcsuutu/c17X3Vw3BQke+MHZ + Of/zf3ifh50UAP+UhMW/yVL8p5ERuGrWBq93EBFiRhsamCN+aEM3MA/lwYGv1Jsl7ViGv/+UpuacjUaX + E8skk4UivbZ3KL3uciy/+wF23nyF6ugH1D/5jIaXX9AozklwzjXusYa1PKOpvjhOFnKCD0ocaeVnUdI9 + i11X3sPVN4Oi3ndwXHoL4cIb5IWnYe0WYesRYQ+LcNDvrT3TcHWKcLa9Bs+ShZ6QSWaJQuU6jnzvGOz+ + CKyhCRiDj5ATmoQ+MAldHM65xj3WsDavahA8SxYCoZTMEoXCsT+qKGyMZRV3ItvdB2PFLVhrhmDzjEPw + PpTgnGvcY01W8RnwzGqb7ylZ2ImFD9DsOR9Ru9tj6yo7kFl2BJriZqgKG6Cw1UNu9kooNtVDVbAPGmcT + tO5WZJafgNJ1KKZ0Nj0nCwuxRjJLFGm7u7D9tIgd4RfY0vUYwskJWNoiMB4dwsbDd5FzYBCGg4MwUW5p + uQehdRhFLVFsbr4PdWk7X1HyA+bfYBSCbxiWQBSGvaPQ+6PQeSNYz3hGoCP0dO+5vhGY/Xx9d2CtuA3V + tmN8QPIrWnoDsljcbzBFFsn/aBSyldqCktTssn5ZbtWUzFjzUW6q+yY3e37+fgMpN9V+p94nWW7ls9QN + pddWqI1+mnUQyVcFBS8qXljphI4wEFaCtyV/PpswnHONe6xhrYZIvuziwSuXRasIHlAQawn+dFUczrnG + Pdaw9s/repFFSsovJqxFMpmOVVQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFQzJGRUI2NEFFMDExRTRCNEQwQzlGQjVEQTAz + Mjk2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFQzJGRUI1NEFFMDExRTRCNEQwQzlGQjVEQTAz + Mjk2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUU3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz71LrnbAAACUElEQVRIS7WTTUgUYRjHh4g+oWyXiF1dESq0XLsUISR9bSQG + C1FGpSIdyktQVIfq4AYd6qBBhzq01xChrEuBCoIf1VoqbOAHae6mSbtWW22Zpm3w73l2BpoZHp2doj/8 + mGHe5/k9zDvzKgD+K4ozt+ifkKR6xCY7SFI9YpMdLCM12cEyUtMCLCWW6Z9ZRl+8ABXEE9eGrXBv3Aa6 + 7yaqec0yXGRBvc9/HF3dfZiZS+HHz18I9YRRdqiaB93UNPPHJDNzcFfZESS+TGF6NmUgOTWjDfFWaio5 + glRP66PWDiS/z4q0dT3nASHSLFJtQgSpnk+R8TgSyWmRycRX3qYUaZarNiEmoZnkyFgMscS3eaEaOk2K + U7UJMQnNvA8PRTAe/ywyMhbnLZojjVu1CRGkepqCd5vweuKDSMPDZqzJLnhJmhzVJkSQ6vHt2F+O/tF3 + GIzGDfSPxuDzV2KlI/s6aVyqTYggNeDwFAYrTp5Hz0AU4eGJNL2Db3Di9CWsXre+nRR7WJOWSZGkhIu4 + SkSIqNPjfVu4fR9Ona1FzbkAthSXwpGz+SMNn+Q1h8d7g+ryNKUxtCBx68zla3jQ8iwjLgTq+G+6rSmN + MYmZizsPHEN77yt09A1nBNfu9VfxH1Wraf/EJC/J3VSMxsedaHsxZIt7zU/BvbRduzW1GtOAhkDdHbSE + Bv6KK/VB0De5r6nVmAaU0Gs20jV9Qu2S5c7vXLU27yhpl6h2Ci0YoKwg8olS4jBRniFcyz0FBDvUCAMW + E1kEHx4+oXbgHu5lB0VRfgP1p66ckfD+bgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBQzA3NjM1NEFEMDExRTRCRDJCQTRBMTUzMERD + QUEwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBQzA3NjM0NEFEMDExRTRCRDJCQTRBMTUzMERD + QUEwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjRGOUQzNUFDRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7wDFMsAAADRElEQVRIS7WVbUyNYRjH2/iSD2behrAK1SJxTpF3hSZSmbxE + qZYT6SjJvL+sMZIZRqGat0hRmyxLXmq1VUoZHbVSspqQKWPGvMzfdT11Hs+5uz/4wIffdt//63/9r/M8 + z/08xwrAf0Uqyhg02kVPpBOviARimMwnIhVFKMzaxsENlzJz0dbegcTjZ0BaiswrIhVFKCwydlsCvv34 + peLtH8xDpsn8WqSiCAWFRcXtxtfvP1U8F63gAXqZX4tUFKGgPkPtXJGcdgUV1bXYsuvgv71FDAWe8PD0 + R8z2BDjp5vKABJlPRCqKUJij22xfdHR+RNenL2hubYfNODceYi3za5GKIhS0MtgQh3cfPqsMH6vjATEy + vxapKEJBq0PWx+P1+08qZdUmLOg+SWmETtbHSEURCtgeErkFbR0fLGh924WT5zJgN2E6D9ov6+0liFBj + kn7WYpTV1KOlvVMlICgSJZW1yrra1IygiFgecovw0fZbhImQOWV5qBFPG1sVnre9U6Eaho3RIX5volo7 + fy1PGaLNsAjUQsbAZSEbUd/yBidTryLCuFNZm+EBxEAiydl9Hk6lZ6HiSSOG2k1iva85p1ewGTL5LVll + wKLAcG64GrBmA2qbXqmQpgzo8c4hsuxdZrB2QJtjESpCZj8i1EnniQvZt1H0sBaPG9oUNu1Q3uZkwT9Y + u2csNiLU4DF8rB4ZuYWoevYSR5Mvw8NrKdbF7kGlqQW+Kw085LCs14xUZKjRmrh08Hg6yp++QGlNI2Z4 + B3LgbOLO6Qs5uFdugut0H9Y2yzIYqchQ06nwTbtR+rhJYdlaIwed6Kn5O7vPx/2HdcjKL8Eop6lc8xUz + mF4CQ+ZDXn7BeFBVj+LqBsTsSuQAi68n7Y8Z4vYp9WOpmcqRJS1C62EsNgyZjOOnLEBe0SPcr6xHIt33 + Ibau3Dxa8A3gI3kx567iS72WD0c6DKRbvNHqgqFi/5GOU3D+RiEKK+qQnl0AGwd3blqo9Wn80ROmeiPj + ZrHiv36nHCO6v7L9zB6xwbjKEI+CMhOyC8rg0P2LorQeEapvtZ84C2cz8xG94xD7j2jrotnOSe+FwLBY + TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4060,6 +4060,9 @@ 864, 17 + + 864, 17 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/NewFunction/FrmFloodAnalysis.cs b/NewFunction/FrmFloodAnalysis.cs index 2031ecf..c599ab0 100644 --- a/NewFunction/FrmFloodAnalysis.cs +++ b/NewFunction/FrmFloodAnalysis.cs @@ -103,14 +103,7 @@ GSOExtrudeStyle extrudeStyle = new GSOExtrudeStyle(); - if (checkBoxExtrude.Checked) - { - extrudeStyle.ExtrudeType = EnumExtrudeType.ExtrudeToValue; - } - else - { - extrudeStyle.ExtrudeType = EnumExtrudeType.ExtrudeNone; - } + extrudeStyle.ExtrudeType = checkBoxExtrude.Checked ? EnumExtrudeType.ExtrudeToValue : EnumExtrudeType.ExtrudeNone; extrudeStyle.ExtrudeValue = m_pntMinAlt.Z; extrudeStyle.TailPartVisible = false; @@ -151,32 +144,30 @@ private void timerPlay_Tick(object sender, EventArgs e) { - if (m_WaterFeature != null) + if (m_WaterFeature == null) return; + if (m_dBaseAlt > m_pntMaxAlt.Z) { - if (m_dBaseAlt > m_pntMaxAlt.Z) + if (checkBoxLoopPlay.Checked) { - if (checkBoxLoopPlay.Checked) - { - m_dBaseAlt = m_pntMinAlt.Z; - } - else - { - timerPlay.Stop(); - } + m_dBaseAlt = m_pntMinAlt.Z; } - - m_dBaseAlt += (double)numericUpDownAddPerTime.Value; - - m_globe.Analysis3D.FetchNoSourceFloodAnalyseResult(m_dBaseAlt, out m_dFloodArea, out m_dTotalArea, - out m_pntMaxAlt, out m_pntMinAlt); - - SetText(); - - textBoxWaterAlt.Text = m_dBaseAlt.ToString("f2"); - trackBarAlt.Value = Math.Min((int)m_dBaseAlt, trackBarAlt.Maximum); - GSOGeoWater geoWater = (GSOGeoWater)m_WaterFeature.Geometry; - geoWater.SetAltitude(m_dBaseAlt); + else + { + timerPlay.Stop(); + } } + + m_dBaseAlt += (double)numericUpDownAddPerTime.Value; + + m_globe.Analysis3D.FetchNoSourceFloodAnalyseResult(m_dBaseAlt, out m_dFloodArea, out m_dTotalArea, + out m_pntMaxAlt, out m_pntMinAlt); + + SetText(); + + textBoxWaterAlt.Text = m_dBaseAlt.ToString("f2"); + trackBarAlt.Value = Math.Min((int)m_dBaseAlt, trackBarAlt.Maximum); + GSOGeoWater geoWater = (GSOGeoWater)m_WaterFeature.Geometry; + geoWater.SetAltitude(m_dBaseAlt); } private void trackBarAlt_Scroll(object sender, EventArgs e) @@ -196,19 +187,9 @@ private void checkBoxExtrude_CheckedChanged(object sender, EventArgs e) { - if (m_WaterFeature != null) - { - GSOGeoWater geoWater = (GSOGeoWater)m_WaterFeature.Geometry; - if (checkBoxExtrude.Checked) - { - geoWater.ExtrudeStyle.ExtrudeType = EnumExtrudeType.ExtrudeToValue; - } - else - { - geoWater.ExtrudeStyle.ExtrudeType = EnumExtrudeType.ExtrudeNone; - - } - } + if (m_WaterFeature == null) return; + GSOGeoWater geoWater = (GSOGeoWater)m_WaterFeature.Geometry; + geoWater.ExtrudeStyle.ExtrudeType = checkBoxExtrude.Checked ? EnumExtrudeType.ExtrudeToValue : EnumExtrudeType.ExtrudeNone; } private void buttonSetPlayParam_Click(object sender, EventArgs e) diff --git a/getpipeLineFields.cs b/getpipeLineFields.cs index e8b19b1..0f32478 100644 --- a/getpipeLineFields.cs +++ b/getpipeLineFields.cs @@ -55,7 +55,6 @@ GSOLayer m_layer = m_globeControl.Globe.Layers.GetLayerByCaption(caption);//获取当前选择的layer图层 if (m_layer == null) return ""; - GSOFeatureLayer flayer = m_layer as GSOFeatureLayer; ds = m_layer.Dataset; sourcefDataset = ds as GSOFeatureDataset; sourcefDataset.Open();