diff --git a/PROMS/VEPROMS User Interface/App.config b/PROMS/VEPROMS User Interface/App.config index fa7e7415..35bcef4f 100644 --- a/PROMS/VEPROMS User Interface/App.config +++ b/PROMS/VEPROMS User Interface/App.config @@ -67,7 +67,11 @@ + value="http://localhost/Proms2010RemotingHost/RemotingPortal.rem"/> + + False + + Normal + True diff --git a/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs b/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs index 91a93192..c748b36f 100644 --- a/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs +++ b/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 +// Runtime Version:2.0.50727.1434 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -172,6 +172,18 @@ namespace VEPROMS.Properties { } } + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Normal")] + public global::System.Windows.Forms.FormWindowState WindowState { + get { + return ((global::System.Windows.Forms.FormWindowState)(this["WindowState"])); + } + set { + this["WindowState"] = value; + } + } + [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("True")] diff --git a/PROMS/VEPROMS User Interface/Properties/Settings.settings b/PROMS/VEPROMS User Interface/Properties/Settings.settings index 7aa5e4eb..f929bc1b 100644 --- a/PROMS/VEPROMS User Interface/Properties/Settings.settings +++ b/PROMS/VEPROMS User Interface/Properties/Settings.settings @@ -41,6 +41,9 @@ False + + Normal + True diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs index f40b0372..e6ac7ea3 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs @@ -279,6 +279,7 @@ namespace VEPROMS this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem(); this.tc = new Volian.Controls.Library.DisplayTabControl(); + this.tmrTreeView = new System.Windows.Forms.Timer(this.components); this.ribbonControl1.SuspendLayout(); this.ribbonPanel2.SuspendLayout(); this.ribbonPanel1.SuspendLayout(); @@ -1780,6 +1781,7 @@ namespace VEPROMS this.btnOpen.Name = "btnOpen"; this.btnOpen.SubItemsExpandWidth = 24; this.btnOpen.Text = "&Open..."; + this.btnOpen.Click += new System.EventHandler(this.btnOpen_Click); // // btnSave // @@ -2454,7 +2456,8 @@ namespace VEPROMS this.tv.Size = new System.Drawing.Size(30, 374); this.tv.TabIndex = 1; this.tv.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.tv_BeforeExpand); - this.tv.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tv_AfterSelect); + this.tv.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.tv_KeyPress); + this.tv.Click += new System.EventHandler(this.tv_Click); // // infoPanel // @@ -3189,6 +3192,11 @@ namespace VEPROMS this.tc.LinkModifyTran += new Volian.Controls.Library.StepPanelLinkEvent(this.tc_LinkModifyTran); this.tc.LinkModifyRO += new Volian.Controls.Library.StepPanelLinkEvent(this.tc_LinkModifyRO); // + // tmrTreeView + // + this.tmrTreeView.Interval = 10; + this.tmrTreeView.Tick += new System.EventHandler(this.tmrTreeView_Tick); + // // frmVEPROMS // this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); @@ -3498,6 +3506,7 @@ namespace VEPROMS private DevComponents.DotNetBar.PanelEx panelAnnoEditBtns; private DevComponents.DotNetBar.ButtonX btnAnnoDetailsPushPin; private DevComponents.DotNetBar.ButtonItem buttonItem1; + private System.Windows.Forms.Timer tmrTreeView; } } diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 2e8a6eba..ff9ed8fe 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -78,8 +78,12 @@ namespace VEPROMS private void frmVEPROMS_FormClosing(object sender, FormClosingEventArgs e) { // Save the location and size of the VE-PROMS appication for this user - Settings.Default.Location = this.Location; - Settings.Default.Size = this.Size; + if (this.WindowState == FormWindowState.Normal) + { + Settings.Default.Location = this.Location; + Settings.Default.Size = this.Size; + } + Settings.Default.WindowState = this.WindowState; SaveMRU(); //Settings.Default.Save(); } @@ -96,10 +100,10 @@ namespace VEPROMS // get the saved location and size of the VE-PROMS appication for this user if (Settings.Default["Location"] != null) this.Location = Settings.Default.Location; if (Settings.Default["Size"] != null) this.Size = Settings.Default.Size; + if (Settings.Default["WindowState"] != null) this.WindowState = Settings.Default.WindowState; ShutDownRibbons(); _MyMRIList = MostRecentItemList.GetMRILst((System.Collections.Specialized.StringCollection)(Properties.Settings.Default["MRIList"])); _MyBookMarks = MostRecentItemList.GetMRILst((System.Collections.Specialized.StringCollection)(Properties.Settings.Default["BookMarks"])); - SetupMRU(); SetupBookMarks(); SetupAnnotations(); @@ -189,8 +193,8 @@ namespace VEPROMS /// VETreeNode void SetupNodes(VETreeNode node) { - if (!node.Equals(_LastTreeNode)) - { + //if (!node.Equals(_LastTreeNode)) + //{ _LastTreeNode = node; _LastFolderInfo = null; _LastFolder = null; @@ -198,8 +202,8 @@ namespace VEPROMS _LastProcedure = null; _LastSection = null; _LastStep = null; - //epAnnotations.Expanded = false; - //rtxbComment.Text = ""; + epAnnotations.Expanded = false; + rtxbComment.Text = ""; epAnnotations.TitleStyle.BackColor1.Color = _CommentTitleBckColor; if (_MyMRIList.Add(node.VEObject) != null) SetupMRU(); @@ -260,8 +264,24 @@ namespace VEPROMS //default: //break; //} - setupRibbonTabs(node); + SetCaption((VETreeNode)node); + //} + } + + private void SetCaption(VETreeNode tn) + { + StringBuilder caption = new StringBuilder(); + string sep = string.Empty; + while (tn != null) + { + if (tn.VEObject.GetType() == typeof(FolderInfo) || tn.VEObject.GetType() == typeof(DocVersionInfo)) + { + caption.Append(sep + tn.Text); + sep = " - "; + } + tn = (VETreeNode)tn.Parent; } + this.Text = caption.ToString(); } bool tv_NodeDelete(object sender, Volian.Controls.Library.vlnTreeEventArgs args) @@ -277,7 +297,7 @@ namespace VEPROMS if (_LastFolderInfo != null) { DialogResult result = MessageBox.Show("Are you sure you want to delete " + _LastFolderInfo.Name, "Verify Folder Delete", - MessageBoxButtons.YesNo, MessageBoxIcon.Question); + MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { Folder.Delete(_LastFolderInfo.FolderID); @@ -355,12 +375,40 @@ namespace VEPROMS } } } - private void SaveIfChanged2(Item tmp) { SaveIfChanged(tmp); } - + /// + /// When the treeview is clicked - a timer is set + /// This is done because the focus is returned to the treeview after the click event + /// + /// + /// + private void tv_Click(object sender, EventArgs e) + { + tmrTreeView.Enabled = true; + } + /// + /// This event is fired from the timer after the treeview click event completes + /// + /// + /// + private void tmrTreeView_Tick(object sender, EventArgs e) + { + tmrTreeView.Enabled = false; // Timer has now fired + SaveIfChanged(); + VETreeNode tn = tv.SelectedNode as VETreeNode; + if (tn != null) SetupNodes(tn); + } + private void tv_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == '\r') + { + tv_Click(sender, new EventArgs()); + e.Handled = true; + } + } private void tv_BeforeExpand(object sender, TreeViewCancelEventArgs e) { VETreeNode tn = ((VETreeNode)e.Node); @@ -371,35 +419,11 @@ namespace VEPROMS tn.LoadChildren(true); } - private void tv_AfterSelect(object sender, TreeViewEventArgs e) - { - string caption = null; - SaveIfChanged(); - SetupNodes((VETreeNode)e.Node); -// this.Text = "VE-PROMS - " + e.Node.Text; // build and display window caption - caption = ""; - VETreeNode tn = (VETreeNode)e.Node; - while (tn != null) - { - if (tn.VEObject.GetType() == typeof(FolderInfo) || tn.VEObject.GetType() == typeof(DocVersionInfo)) - { - if (caption.Equals("")) - caption = tn.Text; - else - caption = tn.Text + " - " + caption; - } - tn = (VETreeNode)tn.Parent; - } - this.Text = caption; - } - void tv_NodeProperties(object sender, Volian.Controls.Library.vlnTreeEventArgs args) { DisplayProperties(); } - #endregion - #region Property Page and Grid /// @@ -438,7 +462,7 @@ namespace VEPROMS /// private static Color cGetColor(string strColor) { - // This was copied from frmFolderProperties.CS + // This was copied from frmFolderProperties.CS Color rtnColor; if (strColor == null || strColor.Equals("")) rtnColor = Color.White; @@ -566,7 +590,6 @@ namespace VEPROMS } #endregion - #region Table Insert Sample Code private void btnInsTable_Click(object sender, EventArgs e) { @@ -597,7 +620,6 @@ namespace VEPROMS //} } #endregion - #region Edit/View Modes /// /// Edit Mode button on the bottom tool bar @@ -640,7 +662,6 @@ namespace VEPROMS } #endregion - #region Multi User /// @@ -666,7 +687,6 @@ namespace VEPROMS } #endregion - #region Progress Bar /// @@ -725,14 +745,14 @@ namespace VEPROMS public string ProgBarText { get { return bottomProgBar.Text; } - set { + set + { bottomProgBar.TextVisible = true; - bottomProgBar.Text = value; + bottomProgBar.Text = value; } } #endregion - #region Views: Procedure Background Deviation /// /// Procedure Step View button on the bottom tool bar @@ -764,7 +784,6 @@ namespace VEPROMS btnViewTypes.Text = btnViewDev.Text; } #endregion - #region Bookmarks /// @@ -826,15 +845,15 @@ namespace VEPROMS { _MyBookMarks.RemoveAt(lbxBookMarks.SelectedIndex); RefreshBookMarkData(); - // lbxBookMarks.Items.RemoveAt(lbxBookMarks.SelectedIndex); - // if (lbxBookMarks.Items.Count == 0) - // { - // //lbxBookMarks.Enabled = false; - // btnPrevPos.Enabled = false; - // btnClrBookMrks.Enabled = (lbxBookMarks.Items.Count > 0); - // //btnRmvCurBookMrk.Enabled = (lbxBookMarks.SelectedIndex >= 0); - // _PrevBookMark = null; - // } + // lbxBookMarks.Items.RemoveAt(lbxBookMarks.SelectedIndex); + // if (lbxBookMarks.Items.Count == 0) + // { + // //lbxBookMarks.Enabled = false; + // btnPrevPos.Enabled = false; + // btnClrBookMrks.Enabled = (lbxBookMarks.Items.Count > 0); + // //btnRmvCurBookMrk.Enabled = (lbxBookMarks.SelectedIndex >= 0); + // _PrevBookMark = null; + // } } /// @@ -867,7 +886,6 @@ namespace VEPROMS } #endregion - #region DisplayPanel /// @@ -940,7 +958,6 @@ namespace VEPROMS // } //} #endregion - #region Font /// @@ -973,7 +990,6 @@ namespace VEPROMS btnUline.Checked = !btnUline.Checked; } #endregion - #region Find/Replace and Search /// @@ -1002,7 +1018,6 @@ namespace VEPROMS } #endregion - #region Similar Steps /// @@ -1019,7 +1034,6 @@ namespace VEPROMS } #endregion - #region Help/About /// @@ -1049,54 +1063,38 @@ namespace VEPROMS #endregion #region Ribbon - /// - /// Hide and Unhide ribbon tabs based on the type of tree node selected + /// This Opens the treeView or opens the selected item in the TreeView /// - /// - private void setupRibbonTabs(VETreeNode node) + /// + /// + private void btnOpen_Click(object sender, EventArgs e) { - //switch (node.VEObject.GetType().Name) // Change to else if & typeof - //{ - // case "FolderInfo": - // rtabEdit.Visible = false; - // rtabTools.Visible = false; - // rbnPrint.Visible = false; - // ribbonControl1.SelectedRibbonTabItem = rtabHome; - // break; - // case "DocVersionInfo": - // rtabEdit.Visible = false; - // rtabTools.Visible = false; - // rbnPrint.Visible = false; - // ribbonControl1.SelectedRibbonTabItem = rtabHome; - // break; - // case "ProcedureInfo": - // rtabEdit.Visible = true; - // rtabTools.Visible = true; - // rbnPrint.Visible = true; - // ribbonControl1.SelectedRibbonTabItem = rtabEdit; - // break; - // case "SectionInfo": - // rtabEdit.Visible = true; - // rtabTools.Visible = true; - // rbnPrint.Visible = true; - // ribbonControl1.SelectedRibbonTabItem = rtabEdit; - // break; - // case "StepInfo": - // rtabEdit.Visible = true; - // rtabTools.Visible = true; - // rbnPrint.Visible = true; - // ribbonControl1.SelectedRibbonTabItem = rtabEdit; - // break; - // default: - // rtabEdit.Visible = false; - // rtabTools.Visible = false; - // rbnPrint.Visible = false; - // ribbonControl1.SelectedRibbonTabItem = rtabHome; - // break; - //} + if (!expandablePanel2.Expanded) // If panel not expanded - expand it. + { + expandablePanel2.Expanded = true; + if(tv.Nodes.Count > 0)tv.SelectedNode = tv.Nodes[0]; + tv.Focus(); + } + else + { + VETreeNode tn = (VETreeNode)(tv.SelectedNode); + if (tn != null) + { + if (tn.VEObject.GetType() == typeof(FolderInfo) || tn.VEObject.GetType() == typeof(DocVersionInfo)) + { + if (tn.Nodes.Count > 0) + { + tn.Expand(); + tv.SelectedNode = tn.Nodes[0]; + tv.Focus(); + } + } + else + SetupNodes(tn); + } + } } - /// /// Options button on the dialog that appears when the V icon is clicked (top left of application window) /// note that the "V icon" is also called the Office 2007 Start Button @@ -1152,10 +1150,10 @@ namespace VEPROMS displayTransition.CurTrans = null; } #endregion -private AnnotationInfoList _Annotations; + private AnnotationInfoList _Annotations; private ItemInfo _CurrentItem = null; - private void tc_ItemSelectedChanged(object sender,ItemSelectedChangedEventArgs args) + private void tc_ItemSelectedChanged(object sender, ItemSelectedChangedEventArgs args) { //CurrentAnnotation = null; if (args == null) @@ -1165,28 +1163,22 @@ private AnnotationInfoList _Annotations; _Annotations = null; itemAnnotationsBindingSource.DataSource = _Annotations; AnnotationPanelView(); + infotabRO.Visible = infotabTransition.Visible = infotabTags.Visible = false; return; } if (_CurrentItem != args.MyItemInfo) _CurrentItem = args.MyItemInfo; //tc.SelectedDisplayTabItem.MyItemInfo; - vlnStackTrace.ShowStack("enter tc_ItemSelectedChanged {0}",_CurrentItem); + //vlnStackTrace.ShowStack("enter tc_ItemSelectedChanged {0}", _CurrentItem); if (args.MyStepItem == null) { - //itemAnnotationsBindingSource.DataSource = null; - //_Annotations = null; - //UpdateAnnotationGrid(); - //_CurrentItem = args.MyItemInfo; //tc.SelectedDisplayTabItem.MyItemInfo; + infotabRO.Visible = infotabTransition.Visible = false; + infotabTags.Visible = true; //vlnStackTrace.ShowStack("enter tc_ItemSelectedChanged {0}", _CurrentItem); } else { - //_CurrentItem = args.MyItemInfo; //vlnStackTrace.ShowStack("enter tc_ItemSelectedChanged {0}", _CurrentItem); - //UpdateAnnotationGrid(); - //StepTabPanel dtp = ((DisplayTabItem)tc.SelectedDisplayTabItem).MyStepTabPanel; - //if (dtp == null) return; - //displayTransition.MyRTB = dtp.MyStepPanel.SelectedStepRTB; - //displayRO.MyRTB = dtp.MyStepPanel.SelectedStepItem.MyStepRTB; + infotabRO.Visible = infotabTransition.Visible = infotabTags.Visible = true; displayTransition.MyRTB = args.MyStepItem.MyStepRTB; displayRO.MyRTB = args.MyStepItem.MyStepRTB; } @@ -1229,7 +1221,7 @@ private AnnotationInfoList _Annotations; } } } - Console.WriteLine("Row = {0}",row); + //Console.WriteLine("Row = {0}", row); c1AnnotationGrid.Select(row, 0, true); } //private void ShowItemAnnotations(string title) @@ -1238,13 +1230,13 @@ private AnnotationInfoList _Annotations; //} //private void itemAnnotationsBindingSource_DataSourceChanged(object sender, EventArgs e) //{ - //_LoadingGrid = true; - //Console.WriteLine("itemAnnotationsBindingSource_DataSourceChanged 1"); - //AnnotationInfoList myAnnotations = itemAnnotationsBindingSource.DataSource as AnnotationInfoList; - //Console.WriteLine("itemAnnotationsBindingSource_DataSourceChanged 2"); - //AnnotationPannelView(_Annotations); - //Console.WriteLine("itemAnnotationsBindingSource_DataSourceChanged 3"); - //_LoadingGrid = false; + //_LoadingGrid = true; + //Console.WriteLine("itemAnnotationsBindingSource_DataSourceChanged 1"); + //AnnotationInfoList myAnnotations = itemAnnotationsBindingSource.DataSource as AnnotationInfoList; + //Console.WriteLine("itemAnnotationsBindingSource_DataSourceChanged 2"); + //AnnotationPannelView(_Annotations); + //Console.WriteLine("itemAnnotationsBindingSource_DataSourceChanged 3"); + //_LoadingGrid = false; //} private void AnnotationPanelView() { @@ -1274,7 +1266,7 @@ private AnnotationInfoList _Annotations; if (_CurrentAnnotation == null && value == null) return; // No Change if (_CurrentAnnotation != null && value != null) if (_CurrentAnnotation.AnnotationID == value.AnnotationID) return; // No Change - vlnStackTrace.ShowStack("CurrentAnnotation = '{0}' Old = '{1}'", value, _CurrentAnnotation); + //vlnStackTrace.ShowStack("CurrentAnnotation = '{0}' Old = '{1}'", value, _CurrentAnnotation); if (_CurrentAnnotation != null || _AddingAnnotation) { //if (_CurrentAnnotation.TypeID != (int)cbGridAnnoType.SelectedValue) SaveAnnotation(); @@ -1331,7 +1323,7 @@ private AnnotationInfoList _Annotations; private void btnSave_Click(object sender, EventArgs e) { - + } private void tc_LinkActiveChanged(object sender, StepPanelLinkEventArgs args) { @@ -1398,7 +1390,7 @@ private AnnotationInfoList _Annotations; _LoadingList = false; } - private int LastResultsMouseOverIndex=-1; + private int LastResultsMouseOverIndex = -1; void lbResults_MouseMove(object sender, MouseEventArgs e) { int ResultsMouseOverIndex = lbResults.IndexFromPoint(e.Location); @@ -1517,12 +1509,12 @@ private AnnotationInfoList _Annotations; private bool AnnotationDirty { get { return _AnnotationDirty; } - set + set { - btnRemoveAnnotation.Enabled = btnAddAnnotation.Enabled = !value; + btnRemoveAnnotation.Enabled = btnAddAnnotation.Enabled = !value; btnSaveAnnotation.Enabled = btnCancelAnnoation.Enabled = value; _AddingAnnotation = value && (CurrentAnnotation == null); - _AnnotationDirty = value; + _AnnotationDirty = value; } } @@ -1587,7 +1579,5 @@ private AnnotationInfoList _Annotations; } } - - } } diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.resx b/PROMS/VEPROMS User Interface/frmVEPROMS.resx index 60789d6b..7886f2c5 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.resx +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.resx @@ -122,10 +122,10 @@ Qk1mAQAAAAAAAHYAAAAoAAAAFAAAABQAAAABAAQAAAAAAAAAAAB0EgAAdBIAABAAAAAQAAAAAAAA/wAA gP8AgAD/AICA/4AAAP+AAID/gIAA/8DAwP+AgID/AAD//wD/AP8A/////wAA//8A/////wD//////3d3 - d3d3d3d3d3eAP3d3d3d3d3d3d3eAP3d3d3d3d3d3d3eAP3d3d3R3d3d3d3eAP3d3d0RHd3d3d3eAP3d3 - dERHd3d3d3eAP3d3REdEd3d3d3eAP3d0RHd0R3d3d3eAP3d3R3d3R3d3d3eAP3d3d3d3dHd3d3eAP3d3 - d3d3d0d3d3eAP3d3d3d3d3R3d3eAP3dwcHAHdwBHd3eAP3dwcHBwcHd0d3eAP3dwAHAHcHd3R3eAP3dw - cHBwcHd3d3eAP3d3B3AHdwB3d3eAP3d3d3d3d3d3d3eAP3d3d3d3d3d3d3eAP3d3d3d3d3d3d3eAPw== + d3d3d3d3d3cBAXd3d3d3d3d3d3cBAXd3d3d3d3d3d3cBAXd3d3R3d3d3d3cBAXd3d0RHd3d3d3cBAXd3 + dERHd3d3d3cBAXd3REdEd3d3d3cBAXd0RHd0R3d3d3cBAXd3R3d3R3d3d3cBAXd3d3d3dHd3d3cBAXd3 + d3d3d0d3d3cBAXd3d3d3d3R3d3cBAXdwcHAHdwBHd3cBAXdwcHBwcHd0d3cBAXdwAHAHcHd3R3cBAXdw + cHBwcHd3d3cBAXd3B3AHdwB3d3cBAXd3d3d3d3d3d3cBAXd3d3d3d3d3d3cBAXd3d3d3d3d3d3cBAQ== @@ -134,8 +134,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAApdJREFUOE+Nkt9PUnEYxukv6K6L5uZF3nTTbOuiuumiKy8Sy7W5tdZF6DDMtMylSWUz + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAApdJREFUOE+Nkt9PUnEYxukv6K6L5uZF3nTTbOuiuumiKy8Sy7W5tdZF6DDMtMylSWUz ZoVmuJjMBMTI9My0peVmDX+loagF/QJU8HcCogI7Bzic8/Q9HLZu3PC7vfvuvXg/z/M+ew8AkKR77r6j tkMZh0MHM09mzI93ZWWdPrdIB1yONfdiTCIA0lXcKTV7B48Du2qsjBaQvwmeD8cQsef0pR1Own3VLoS1 ADuJ8FoP+ccg9FvOmvTqAsDZnckvWfIR+dsLDjug/f0Q+tWhE/sDEAd3sdtMIWqhCIQiTijSg/Or9gdg @@ -152,8 +152,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAjlJREFUOE/Nk11IU2EYx2dgH6AQUthFUIFYBoW7SBkz7CIsFznCbLIuRg28cRdT2rR2 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAjlJREFUOE/Nk11IU2EYx2dgH6AQUthFUIFYBoW7SBkz7CIsFznCbLIuRg28cRdT2rR2 2rqYO5xtacelQdEcs6LS0gbLJskQR4UxkEFRgS1X2XChk8qatv6975HNZXYR3XTg4eV9Pn7P/3k4bxYA 0T99FJAya9dwuIHzTJXUtI4v8/tX8gvNMxOlSkfP7OcEcsS6yEYJs4rG6Jnpz8z/BUC6+8/wA5DXX0Wx 3IadMkuMJvDXA1jJnwKlFZg6B/EtsYB7I6+h40ewbX8L1u7WZ6X8nkAYrHsMBRUWUrs0tgBobvPmmTp8 @@ -168,8 +168,8 @@ iVBORw0KGgoAAAANSUhEUgAAALQAAABfCAYAAABBTu1zAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAQPxJREFUeF7tfWd0XMeVpnbO7v7dM//mnDm7O95Z7+6ZHY+tLFkjyZIlihKVbMuSSOVo + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAQPxJREFUeF7tfWd0XMeVpnbO7v7dM//mnDm7O95Z7+6ZHY+tLFkjyZIlihKVbMuSSOVo WyIlihHMIEgQAEHkDBAgkTORiJwz0Mg5dCPnHAhmSd9+t1432ARBSk0CS1MGzrl4r9+reOur+25V3br1 HxJT0vpsrA//l//4n/7zfX/3d39339rfGgfuNQ4AuO+77769b++uP8/dt/GdDxYef3Idnn3+NTxDenbd 6/jNc6/i6d++QnoZTz2zAU89u0Hda8+M9Kz8XvJs6XsVhuEZX0vDLP516SzzfLmwa8+W5+HfOF9+w/r/ @@ -452,8 +452,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAoJJREFUOE99kd1LU2Ecx0939Rd022UXQdBFXZVdh10FERRBipXD1CRDS8tmRbhM09LE + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAoJJREFUOE99kd1LU2Ecx0939Rd022UXQdBFXZVdh10FERRBipXD1CRDS8tmRbhM09LE WavUaCnpsqzhnNPlKvNlrFm+pem0Njdtup3nnPOc7dtznmGQbB34cODh+b78fs8WAMLmr981TtjZVjWm CgpNIMtUoCrlf1mhgqrGpZyM9G2CZrCZgY/jMjuD+6sPQ545vB+eht31DW/7v+BVzyi6bG7UmboID09m 4Bj0UgZsTje6e4dhsX6C2eJES7sdTc/eof7xa9QYLVpIcgNzpw2qGuNQqkJRKIdIMkQi4Xc4ghJ9lVZS @@ -488,8 +488,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAIdJREFUOE/tlOsKgDAIhRf0/q9sKiqmC4skCtpwTH98O17YAgCjdRGw01phnG2nuoeA + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAIdJREFUOE/tlOsKgDAIhRf0/q9sKiqmC4skCtpwTH98O17YAgCjdRGw01phnG2nuoeA A2uKGxcdpcUMc8oCgxWxaATlO23vayw0NQEZICoNoL5/TGMV0GBeUSiDKab4D5x2WeuoY5N87fCVGvoZ PALyRJxtiqmTefRzuVNeAm/+Pl/8HN6W8gYgJNCzhmmGgQAAAABJRU5ErkJggg== @@ -497,8 +497,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAKdJREFUOE/NlIsOgCAIRW32/79M4oRAiUFzrZxblh4vzwMAytYHgTxLe0+MJgRqrWre + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAKdJREFUOE/NlIsOgCAIRW32/79M4oRAiUFzrZxblh4vzwMAytYHgTxLe0+MJgRqrWre MAQnBsL6fikIrX2rMA882+1yopqxRlgeKADKFQ3KsLTJpFD6djewq8OLaHhBId+wjwyFKSDd+gRU3yMK pfOtw6wuavJ3QIqsFfVMpcgEVrkn0ygMHKqWAM3VEwYOFarMrObxC6Db1lyF08+510XWS4OMHPL2XD36 anow/cNbAAAAAElFTkSuQmCC @@ -507,8 +507,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAH9JREFUOE/NlIEKwCAIRDfY//+y81xuDa1RSauQiuhxXtZORFtoAzAyQmGSraeOLYAP + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAH9JREFUOE/NlIEKwCAIRDfY//+y81xuDa1RSauQiuhxXtZORFtoAzAyQmGSraeOLYAP 1ShlNQfIruKeRCEdvEKg6xxjwXt/4zr+QNP6Be0BQtGtVKGqshdooBFA19NlFIZ6aGB56bSmbOowr0GA W4Bfz04K/lfgyHc25/taSuEJla3I41YVDssAAAAASUVORK5CYII= @@ -516,8 +516,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAHpJREFUOE/llOEKgDAIhBf0/q9snVjouj+m9aM2hLHBx506FxEZrQvAzmiFqVumbk8B + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAHpJREFUOE/llOEKgDAIhBf0/q9snVjouj+m9aM2hLHBx506FxEZrQvAzmiFqVumbk8B 8gDtQ1YLnG2f78QdV6g8g07AcP8tIPIV7LE0ZCw/AvRQWvmsQgr0Vb8DDNZdL2pPpoGm5tKTh8o0cP4Z ZYU/AhZm5DvzsDLBN+52u9zoVlmTAAAAAElFTkSuQmCC @@ -525,8 +525,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAHNJREFUOE9j/P//PwNVAchAamKqGgb2LTVdh9NAYJiCAgIMQWxsGJdDsLoQlyHI4lQx + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAHNJREFUOE9j/P//PwNVAchAamKqGgb2LTVdh9NAYJiCAgIMQWxsGJdDsLoQlyHI4lQx 8D8LwsUkGQj2LFAzsgHgYICKgeVxpA7sEqMGwmJ3kIUhNGJQ0h4olmGQ5FjGklOQjCMx2VBQAtGncKCk BBr8LgQAn2/gt5b9HCMAAAAASUVORK5CYII= @@ -534,8 +534,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAH9JREFUOE9j/P//PwNVAchAdAy0AGQLSAYrhMtj0ztqIDg84WHEAgxDEAZBGBtIkx+G + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAH9JREFUOE9j/P//PwNVAchAdAy0AGQLSAYrhMtj0ztqIDg84WHEAgxDEAZBGBtIkx+G MMNgUQM1dNRAlHSMkagxIgU5aVMahhi5BSmGwXKk5hRYbOKiSTYQlPbQDQOlSfKTDY7CAV5kkOpl5NyB wQZZRrKBVHfhoDUQW9gQKwYA3Mt2Kr495a0AAAAASUVORK5CYII= @@ -543,8 +543,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAIdJREFUOE/tlNEKgDAIRRf0/79szsjUaTEnPbVhEMLl6HVuANBKTxesjFIxqtala0iN + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAIdJREFUOE/tlNEKgDAIRRf0/79szsjUaTEnPbVhEMLl6HVuANBKTxesjFIxqtala0iN F0//qDgzcVW+4O6LXeKA+ahNbkJSMZEhTgkSibyC/BdkLx5NsT1kl2fHxpu/wfnghb2OTclgq9L04Nx/ GULqYRQpwYgua4p5J1p+hnBlP360Dxe2+AE5U7i7XUfchAAAAABJRU5ErkJggg== @@ -552,8 +552,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAH9JREFUOE/dVAEKgDAIXND/v2y6crjQQXpEtGFRsuPcnW5E1KBLAJEBBevVuuwas+bN + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAH9JREFUOE/dVAEKgDAIXND/v2y6crjQQXpEtGFRsuPcnW5E1KBLAJEBBevVuuwas+bN Sx5TnJm4qhDQA9N/JUDa+biEYdy/g7t3E4OJAdNSR+6fgEthMiXDAa3CHxVF3KfWud4p20wm1lazxoa3 3tNOuQtg1c4Nh8KMfGkeFhgeIIeryKLL0A0AAAAASUVORK5CYII= @@ -561,8 +561,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAH5JREFUOE/dlIEKwCAIRBvs/3/ZeW6JgZErGdsKC4RedyZtRFRSB4CZkQoTt5nqHgQW + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAH5JREFUOE/dlIEKwCAIRBvs/3/ZeW6JgZErGdsKC4RedyZtRFRSB4CZkQoTt5nqHgQW ritPHli64bnzLQdguCgMtKpoP9VaxZpzOsRVWIFy0AAbKK74IRC2qu1r13LMWJaX1Cdp20jy0RqOelBV 3wH2oFZxXOHCD/TVz+FNlg+KLdeMaYotpAAAAABJRU5ErkJggg== @@ -570,8 +570,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAItJREFUOE/dlEEOgDAIBGvi/7+MLgaFBg4U0oM2aC9OBko5iGi0PgB2RiuMs3XtBpcB + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAItJREFUOE/dlEEOgDAIBGvi/7+MLgaFBg4U0oM2aC9OBko5iGi0PgB2RiuMs3XtBpcB LzfunEKRfUA6P0vseeErEdQ+NBSATttAO4CAlwzFDmbGFGlnDV+Y1E9B2TIDNDAF1KZ/Bc69p3tzpYbc Jk9L8zInnQHOP893On3KnpHuyfxwKMzITfOwYHgBIcyz3GpBxx0AAAAASUVORK5CYII= @@ -579,8 +579,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAG5JREFUOE/VVFsKACAIK+j+VzYnFEQvsBVkGNTH2qYZRSRQA4DMpIKZWia7x4BJvdXU + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAG5JREFUOE/VVFsKACAIK+j+VzYnFEQvsBVkGNTH2qYZRSRQA4DMpIKZWia7x4BJvdXU wNbkStVU8gio3B0BgmWzcF50xpYhDRCsOu/A1cuQDlgLcNtDPHRUFFofjjw0diiMp228f/zn4eAcvHTJ GQ50BGLnnh0kAAAAAElFTkSuQmCC @@ -588,32 +588,32 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAFlJREFUOE9j/P//PwNVAchAamKqGgb2LTVdR7SBwDAGBQxRlhOnCGQgCxUNBBkGdiUR + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAFlJREFUOE9j/P//PwNVAchAamKqGgb2LTVdR7SBwDAGBQxRlhOnCGQgCxUNBBkGdiUR EUiUC8Guo6aXaeJCqnt51ECcqYO4ZANMMoM8DInIIbBcRJyXh5WBABRZUBLQnVBRAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAFFJREFUOE9j/P//PwNVAchAamKqGgb2LTVdh9dAaLiCAhgd43UETkl8EYXPV/gMxOY6 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAFFJREFUOE9j/P//PwNVAchAamKqGgb2LTVdh9dAaLiCAhgd43UETkl8EYXPV/gMxOY6 sBglBmJ16PA2EGs4Dm8vD/5Ypl6kkFto0K+0GTQuBACUuJiTTPFroQAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAADxJREFUOE9j/P//PwNVAchAamKqGgb2LTVdN8QNBMY8KPpxYlxBhTMMRw3ECMvRMISn + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAADxJREFUOE9j/P//PwNVAchAamKqGgb2LTVdN8QNBMY8KPpxYlxBhTMMRw3ECMvRMISn ltGsR3nZOPjDEAD6FPM4KprXiAAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAINJREFUOE/NlOEKgDAIhAt6/1e2bkyx0sDtqDZk7Mc+zjvZKiILdQHILCqsdctUlwIP + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAINJREFUOE/NlOEKgDAIhAt6/1e2bkyx0sDtqDZk7Mc+zjvZKiILdQHILCqsdctUlwIP T2HE806sChUC6Eu2DsepVQHi+RWq92Fg09TVRPDM+zgUdU/bc26a0mrLdIVUD28p+wEaSdnmMPBwLmWX tIF0JiuhZP6dhv1T4MyH8c5v8yuFO1DV07yWmDh+AAAAAElFTkSuQmCC @@ -621,8 +621,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAIlJREFUOE+9lN0KgDAIhRf0/q9sKihabuAPFV6s8NvxKF4AsEYfAk7GKIyrnVS3By60 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAIlJREFUOE+9lN0KgDAIhRf0/q9sKihabuAPFV6s8NvxKF4AsEYfAk7GKIyrnVS3By60 4fCi55gbWxUrJNjtgyA28kDO9xA582UZhRFILRDlFaCWbf3sAJ1nAq0ApbwxDz9+BQ1KNSUC2m+1OXx7 ZueS/lW6vPMwrfAE0uHOKOwsjJ+2TWPpjit8AH+V07iuhEoDAAAAAElFTkSuQmCC @@ -630,8 +630,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAG9JREFUOE9j/P//PwNVAchAamKqGgb2LTVdh9tABmAwIEFgGIMCGhQ4qBBLcGF3IUgb + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAG9JREFUOE9j/P//PwNVAchAamKqGgb2LTVdh9tABmAwIEFgGIMCGhQ4qBBLcGF3IUgb CwLDDUQSA8uTZCCSoSguhBkKkh8wA2EuIkQT7UJCBsGDYMC8DE8c0AgYjRRwrgHnHKIjhYISiE6Fw7B2 IQBXTc/Ii1NFYgAAAABJRU5ErkJggg== @@ -639,8 +639,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAHpJREFUOE9j/P//PwNVAchAamKqGgb2LTVdR0cDGYDhigSBkQaKOVBoo0Is4Y/dyyBt + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAHpJREFUOE9j/P//PwNVAchAamKqGgb2LTVdR0cDGYDhigSBkQaKOVBoo0Is4Y/dyyBt LAgMNxBJDCxPkoFIhqK4EGYoSJ5cA1E8So6BMBcRool2ISGD4EEwYF6Ghxk0vKgeKdQzEJp0MNIhLHkT HYYUlEBDtXAYTF4GABL477TaAfezAAAAAElFTkSuQmCC @@ -648,16 +648,16 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAFFJREFUOE9j/P//PwNVAchAamKqGgb2LTVdN4QNhMY6KPrRMXKCAPoQM0KxhiEWg7AZ + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAFFJREFUOE9j/P//PwNVAchAamKqGgb2LTVdN4QNhMY6KPrRMXKCAPoQM0KxhiEWg7AZ TrKBKK7B5lpSXEhUWifVwJEUhpTkntGsR3nZOPjDEAAZ/81eNzDEKwAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAF5JREFUOE9j/P//PwNVAchAamKqGgb2LTVdR0cDGcARBSLA+D8LMJxBEEQDMVgMR9hj + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAF5JREFUOE9j/P//PwNVAchAamKqGgb2LTVdR0cDGcARBSLA+D8LMJxBEEQDMVgMR9hj 9TJYA5oBGBaQYiDUPXAXwflIlpDkwsFvIHJ44WKPehme/IZq1qOgSBuBXgYAUGAHm432490AAAAASUVO RK5CYII= @@ -665,8 +665,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAKhJREFUOE/NlFkOwCAIRNuk97+yBSKExQUTmlSjHy7PEUbv1tpVWhBY2UphdFtRd4FS + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAKhJREFUOE/NlFkOwCAIRNuk97+yBSKExQUTmlSjHy7PEUbv1tpVWhBY2UphdFtRd4FS qFCwQ92hruaYI0BevAOODqKxHrq1wgcW9iYHqTGa45oC4mIFlM0M1UE5AYYwVABZ3TTWWYVeHTnAxzWd lG4jE3wXV7HYTKG2hcmsTsCJQg/k6xn/ATAkaqfQbHDeG5o/Azx6fivg9FWoqwb7BGDRN/bh9/VXhS9A +GdRV5V7oAAAAABJRU5ErkJggg== @@ -675,8 +675,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAKFJREFUOE/NlNsOgCAMQzHx/38Zt4WZbtzJTJTgA2I5pYwr55xCHxaM7KFi4tbQJaKl + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAKFJREFUOE/NlNsOgCAMQzHx/38Zt4WZbtzJTJTgA2I5pYwr55xCHxaM7KFi4tbQJaKl Rg+/mL1qzW/g0gjq5PenmwSxl8X8GELNCVUQyWFMPPQI1aCx5QRlToRgb5FjQhMSEZoFdi37ZDG8I0Kk q07CSih4+lp0HMqWZS+oqQppSfhIcLR3Zh9noeB5NFUBVbNNOKrnqt67hAFX2cfX1x8JH9infzlwvl0u AAAAAElFTkSuQmCC @@ -685,8 +685,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAJRJREFUOE/NlNEKgDAIRRf0/79salPWrLiSgwpftjxeTd2IqJU+Aqy0CGscAHg5K9YR + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAJRJREFUOE/NlNEKgDAIRRf0/79salPWrLiSgwpftjxeTd2IqJU+Aqy0CGscAHg5K9YR xbwCxWk2CaYwCQoD99PpyYjvU8ARNKYfzhGFFydT0msa0s8ANa0BqHXrZwaGaugfrwT6X61Q6DCp46+A oZaTutSklPahNvKKSbGZvZtlnx60sZFtg8/yx/1Yulx1+1dua2EdD2qAIPUd5s8AAAAASUVORK5CYII= @@ -694,8 +694,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAIdJREFUOE/NlOEKwCAIhBvs/V/ZacywKduFsi3xT9THnaUbEbXSJcDKLIV1t05dY8WX + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAIdJREFUOE/NlOEKwCAIhBvs/V/ZacywKduFsi3xT9THnaUbEbXSJcDKLIV1t05dY8WX 4JKIDx+Bu0egwDQdEgbufPXMCWj2OxwGymG+bGFDpUA1VoARzFlHgXewCYoAEdiAfgKUgiMql1+59FH0 W4TfxvYLUsOo7X7aKcZabjgk5+ML8zCp8AC0/YvYhcL59wAAAABJRU5ErkJggg== @@ -703,8 +703,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAIBJREFUOE/VlOEKwCAIhDfY+7+yeZJh2xqYFqzhjxkcn3fhSURH6oFgZqWKybSZdPsE + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAIBJREFUOE/VlOEKwCAIhDfY+7+yeZJh2xqYFqzhjxkcn3fhSURH6oFgZqWKybSZdPsE OSQk9Vmjyd5HFi2+ujgw+/G/9NEbhLlPEHSNplJ21F7CZYJK2ejU1xlCSxkXhG/Vx4fYTMr2udzD8T8b +GSqI9S+y8PABvrpcoistPSRC/8z/5QTH8xtAAAAAElFTkSuQmCC @@ -712,8 +712,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAJBJREFUOE/NlIEKwCAIRBvs/3/ZqaSYOqIl2woJCl7nmR0A0EoHASujFMbZVqrLgQ0t + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAJBJREFUOE/NlIEKwCAIRBvs/3/ZqaSYOqIl2woJCl7nmR0A0EoHASujFMbZVqrLgQ0t MBP9JZM1xtNoV1TYYR50C3Y1SIGDohNVUNDENahdATJIYGKDgfIlM6AoEEVWVbq3CgzeddV68efA7ZTJ J02noigWSGBf5UfPxkOzR64dMyuKb6391tv8zl74bf6m8AKNAJvwV1fzVAAAAABJRU5ErkJggg== @@ -721,8 +721,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAHpJREFUOE/tlFEKACEIRFvo/ld2zRrW+pBQif2oCKLoMWNTDxGV1NaAmSMVJm5NdYXV + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAHpJREFUOE/tlFEKACEIRFvo/ld2zRrW+pBQif2oCKLoMWNTDxGV1NaAmSMVJm5NdYXV c+fWfHzdcLUNnKBuYO3q9CBes1zZmwoG66LUq1AOD5WoYAgo9hZgyPIF9mBHYgMAbhs1dcdmikrK09Ox GfOYZcfXdvj7+oPCFzUrDpjs1cCOAAAAAElFTkSuQmCC @@ -730,8 +730,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAHxJREFUOE/tlL0OwCAIhDXp+78ycqRnSQcGIKZDNQw6nN/JzxSR0bog2BmtYuY2pBtK + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAHxJREFUOE/tlL0OwCAIhDXp+78ycqRnSQcGIKZDNQw6nN/JzxSR0bog2BmtYuY2pBtK r1sXfDw7cHVY8FIqjU14nyNXMeFbEKZxl7b8C1rhVP7QsuuzzJrMJgWCDBa4PZIV9CJbuGKZzeYp7S5N 6OuQXVIiTIy2w+PrC4QLMHgOlOq5QDwAAAAASUVORK5CYII= @@ -739,8 +739,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAGRJREFUOE9j/P//PwNVAchAamKqGgb2LTVdNxQNZABGEBQCYx4U/aAoQ0AWIBuEkSFa + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAGRJREFUOE9j/P//PwNVAchAamKqGgb2LTVdNxQNZABGEBQCYx4U/aAoQ0AWIBuEkSFa pKKGIbph6JrJMRDuMmyaSTUQZhgpNHoqwfAyVV2IHNjgCKFGGFI3lqmQr0d81hsRYQgA/B8AgiUdBGUA AAAASUVORK5CYII= @@ -748,8 +748,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAGtJREFUOE9j/P//PwNVAchAamKqGgb2LTVdNxQNZABGEAyyAFkgjASBqQGUJEDRiIBo + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAGtJREFUOE9j/P//PwNVAchAamKqGgb2LTVdNxQNZABGEAyyAFkgjASBqQGUJEDRiIBo kYoahgQMBFmAYSilBmIYis9AmO2k0OiphGQvk+RClMDGEikww6gWKeAYRot5/F6mQr4e8VlvRIQhAIwr AYWdxFZmAAAAAElFTkSuQmCC @@ -757,16 +757,16 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAADxJREFUOE9j/P//PwNVAchAamKiDAP6AGgncRaPGog9nEbDEG/KGE02o8kGWsIM/pxC + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAADxJREFUOE9j/P//PwNVAchAamKiDAP6AGgncRaPGog9nEbDEG/KGE02o8kGWsIM/pxC bFkILv1JUUyMWgDrxVLnzhXMLQAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAActJREFUOE+NklkvA1EUx+ubeCJii6WNh0oQsb/ggQSJhK/gU+iLiHhQS6wJotFa0lJb + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAActJREFUOE+NklkvA1EUx+ubeCJii6WNh0oQsb/ggQSJhK/gU+iLiHhQS6wJotFa0lJb EWpLGUwbbVFLFbFVqp2Z/s29MhNpZpKe5OR/5845vzPnnEkBoCFmcbj/Dv+M53kNx3EaLhYjt4aWOl1X YoyGAIibt1hRlM04swFdTSfGLfvdUrykMsC0fq4K6Bu3wrbDSBDDf4gMmFlxqQKGZtdosuSKgKmlQ8QT EPF4nN7xvIDBaTt6R5ehre4gUXJh+TC54IQgCDi99FL1+ALgxETXhReRaAwnF9eYs+6pAwxGM3y3D2QT @@ -780,8 +780,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAHlJREFUOE/llI0KwCAIhB2+/zO7GQhmLQ2OYCyQ/uzjrqRLRAjaFIgMKKy5Rar7CJCZ + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAHlJREFUOE/llI0KwCAIhB2+/zO7GQhmLQ2OYCyQ/uzjrqRLRAjaFIgMKKy5Rar7CJCZ yYU8Yw2/NhtbXuwpJleBei7mtvkbcEelMQagQaoqZ7Y7y8N9JHe5tBwtVlSeA3qr/vVWKstlk9Vfup8m uHorPdofPwf0f3gD43NpwwQa5WcAAAAASUVORK5CYII= @@ -789,8 +789,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAPxJREFUOE9j/P//PwOl4DPQAJAppOLPMMuXAzVvBOL1JGCQ+uUwA5KAnAwgTicBg9Qn + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAPxJREFUOE9j/P//PwOl4DPQAJAppOLPMMuXAzVvBOL1JGCQ+uUwA5KAnAwgTicBg9Qn wQzoBHImAfEEEjBIfSfF4YfLAGag6azEYLABbGxs9yUlJd9CYyETSCcC8S0gPokHnwHKHQAboKqq+nnJ kiWwKGwASggBsR8Qe+DBnkA5V5gXlkKjby+Q9gLiWCA+BcS78GCQ2o1UD0QLoKlrgHgeEINcJQ7EHEC8 FmQbEG9AwpuA7BXoLogqKCj4n5KSAgsPTaAiEPCFhgkoXGDYH+RddANCpaSk/ouLi4Pyxj8gVgViNiA+ @@ -800,8 +800,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAM9JREFUOE9j/P//PwNFAGRAeMMjHZ/SU0DmfwZSMVhDSNP9/x75B1AMALoK5DS8GOx6 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAM9JREFUOE9j/P//PwNFAGRAeMMjHZ/SU0DmfwZSMVhDSNP9/x75B1AMALoK5DS8GOx6 EBFYdlnTIXn1f8ekVX5kucA1e8d/i/Dp/439O0j2Bsl+Rnch2ICg+hv/A6qv/HfJ3t5FlhfAhtRdT7eJ XQD3AqEABMnDAzGk4aGPa9b2/7aJS/3JcoFnwYH/lhEz/hv5tgxQIPpXXfzvW37uv0PKavJd4Fdx7r9j +qY0WBiQFIggTR5FR2abBU8gzwUehQfBgWgTvTCQrFggVROyegA1/oH1CRXf9wAAAABJRU5ErkJggg== @@ -810,8 +810,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAl5JREFUOE+l019MUlEcB/B67M2HtrZ66aGHarW2/sxy5tJa2J8l2YNzMmuxjNWkEomu + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAl5JREFUOE+l019MUlEcB/B67M2HtrZ66aGHarW2/sxy5tJa2J8l2YNzMmuxjNWkEomu AgJXvECJWCpMjH/ZkrKlzeyvLV5aWPNfw0BrJRVDrEAqWZT32720WtbVHjrbeTj3nu/n3Ps758wHMO+/ Ggtw9d6H91bZrVpBq1UHQipefqv7WhrXPM5wbbVsq9tOgQnTn1+RtKOJfOl2UOh0W4k/EU7gQjNFT42R LABETHBaSCTGtKnxgLcn43eEE7A3qD/R43VMgPoBNGrAjl2WGlhq5XBajXk/EU6gpV7JBIxwmdXAuAm2 @@ -827,8 +827,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAeFJREFUOE+l019IU1EcwPFJz9JbD/Vgj5Kr9CGikDCitIxIqJeiMHQ5kdU2wyXan7mc + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAeFJREFUOE+l019IU1EcwPFJz9JbD/Vgj5Kr9CGikDCitIxIqJeiMHQ5kdU2wyXan7mc FmqQQURQFiG0RmgjGSbZcC6wMZz/bmqaTRcGpijOhNn9dibl3RLiUhc+3N85B7735Z4kQPNfTywg+Rr5 04D3DsGuBnrfNhB4U0/P6zo8LjvtDhvuZ9ZVqx//HSA6Ika/4FWl0pCnBIa6G4lG3okNh2oVhuNKwPeq huW5l2LjvmrlJceUQFfrDb6HH0HktmqW4qNKwNNiY368jpU5+xpma/kbiz5XCXS+sDITLIPpKtUsRUeU @@ -842,8 +842,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAm9JREFUOE+lk19Ik1EYxtdFkCh+Uo1ZTll0q4lJoJKuVNKLgZpKzihUrG34jxG2cC5q + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAm9JREFUOE+lk19Ik1EYxtdFkCh+Uo1ZTll0q4lJoJKuVNKLgZpKzihUrG34jxG2cC5q WILh5rKZtQpiGSoj6EIU//CJrkKC1BxLRzqtzTU/3WIjy3B7+vZB0mSDogPPuTi8z+885z3n7AHA+q8R AISSZbyQ96r/9LamjtjqkhIHwtWFNAeKX/fnmBfnr/80T8t8HTXEwD8BjL3ZAvPkRZ/3+2Os2xphGs5A Zz1xLBQkZIK3L/Opj0tayJurIRQWwDgqQU8L1/FXAFLPl81PiXxN8kswGAxQKpWI48ZiZiAV6hpCtBsS @@ -859,8 +859,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAHxJREFUOE9j/P//PwNFAGRAQfehAiD+D6JBfFIwWDFIc2jLk/+y1lVALsQAFiaW//gw + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAHxJREFUOE9j/P//PwNFAGRAQfehAiD+D6JBfFIwWDFIc2jLk/+y1lVALsQAFiaW//gw TB3MgAKQZiAmzwWkOBldLUn+xWYR3AujgUha4kEOTHAgJlYsLwDi/yCa1CiFGfDfs+jof0njTPJSIshm kGYgJs8FpDobIwwoMQAAEuaJ1nndlB8AAAAASUVORK5CYII= @@ -868,16 +868,16 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAADpJREFUOE9j/P//PwNFAGQAJRismZmZ+T86RjaUhYnlPzoGqQe7nhLbR5oBo4GIO7WS + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAADpJREFUOE9j/P//PwNFAGQAJRismZmZ+T86RjaUhYnlPzoGqQe7nhLbR5oBo4GIO7WS lJCQA3IYpUQA76epNf0QgmEAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAdBJREFUOE+lk90rQ2Ecx/mL5MKFG7lSXLiUa3IjKS4okpS4UFJelmnY2GbeLcPYbOZt + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAdBJREFUOE+lk90rQ2Ecx/mL5MKFG7lSXLiUa3IjKS4okpS4UFJelmnY2GbeLcPYbOZt mKERQmFnmMyFmdnOtq/ndzizJ1zg1K/O83Q+35fn6aQDSPvXQwJto/dInRbdPRrVftT03aGi6xYl7Tco bvWhsElAXr2AnBovsquvGcrMZQGNAxiwJ6C0xtFjjqHDJKJtOormsQga9K+o1bygShVCeW8IZd1BZJbt 8gJygmatH3UDflQq3p2LWnwoaPAi98OVnGkySpyfAvo5FxKJRHLW3RfcemHtUFpHxTiC4ThGTE5k5Zd+ @@ -891,8 +891,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAklJREFUOE+lk11I02EUxusuIogugqALIyK6iJpEEIUZIQWSK8kLQ/pAqUApKbEsl4kL + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAklJREFUOE+lk11I02EUxusuIogugqALIyK6iJpEEIUZIQWSK8kLQ/pAqUApKbEsl4kL srQwQYeOVmp+VGamlo1lMUVJ+9DmdCbNBVqkzvyiD9vmr51/rP8IoqgXzuXzO88553nnAnP+6wmg8FY7 wZVf0UbO9WbOFTehy39ISk4difpq4tMriUstJSbZxK4ko1/qbx4AeLzwu/r0FcamZxkam6X/vY9Ol49V 2zP/DuC2O3AcCMW+X4Ot1a6IyxoHWLnt7J8B0lnEDJmZeXycZ7uX0eLwca3+NSsiggAy86/2A7bt+zQ/ @@ -908,8 +908,8 @@ iVBORw0KGgoAAAANSUhEUgAAAQAAAABmCAYAAAAkqE+VAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAGBdJREFUeF7tXXl0VFWaT4/9R0+PHnsWR7uZbu2eOTN2N7bSjo7YKrQaEVsRGlTUYysg + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAGBdJREFUeF7tXXl0VFWaT4/9R0+PHnsWR7uZbu2eOTN2N7bSjo7YKrQaEVsRGlTUYysg iNgsKYQACUISIMgSFoEUiQQIskcMIGsBWVgMEbOvkBASkkAgIWQnCeQ3777a3lZV79V6q+pyzj1Q1H3v fff7ft/vW+6tqh81t7Ti+NGDIVeuXgtpa2sPYX+YBpgGAlsD99xzd8h99/1ryJChr4WErFmzBgUFBWhs bERPTw8bTAcMA36GgetNzXBmfPnllwghzs8cnxEfw4D/YoA4f29vLz+IHbu7u3Hr1i1+dHV1oaOjgx/t @@ -1018,8 +1018,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAASxJREFUOE9j/P//PwNVAchAamKEYQxAg7HAu0+//m9Z9ur/5XufQVbjhlCH4TUQZtiy + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAASxJREFUOE9j/P//PwNVAchAamKEYQxAg7HAu0+//m9Z9ur/5XufQVbjhlCH4TUQZtiy w7//J3ddw28oIQORDZuw8f3/9Ckv/oc33f5///l37C4lZCDImwbhK/9bJ23637Ds/X/X4nP/NYOW/5d3 n0megbDQciq5+j+1985/abt2ysMQZKhe2qX/Su6T/0tZN5JmYFZh5f+M/Mr/6XkV/1Nyyv4nZZf+T8wo +R+XXvQ/JqXwf2RS/v/whLz/IXE5/4Nisv8HRGX+943I+O8Tnv7fMzQVmPIgyY9gssGbVJATEc0NzCiA @@ -1030,8 +1030,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAASlJREFUOE9j/P//PwNFAGQAJZgizWDXU2L7IDEgq7Dyf0Z+5f/0vIr/KTll/5OyS/8n + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAASlJREFUOE9j/P//PwNFAGQAJZgizWDXU2L7IDEgq7Dyf0Z+5f/0vIr/KTll/5OyS/8n ZpT8j0sv+h+TUvg/Min/f3hC3v+QuJz/QTHZ/wOiMv/7RmT89wlP/+8ZmgqMAQohhdqBsZBRAHF+am75 /2SQ8zNL/sdnFP2PTS36H5Vc8D8sseh/aHze/+BYkPOz/vtFQpzvFZr23zM4BbcHKmc/+B9Rdfi/f9Fu UFLDCXFKtCx79X/hvu//HVPXk2aAQ9Kq/5ndF/+DDJi5/ct/38Id/81jV/xX9ZiA1SAMF1y7++a/pv+c @@ -1042,8 +1042,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl mr0081Gr+aD5mI/Kx3TO1po5zbmcaahIiKBkOvGBqTnndu+3cw45kmYHvpx7Lvf3Oed87s8DAFep7SYT OJ53kghrZ4Hn4sNEHhwZ1wqsYjJpn0RvZms2aGFFkwUCeFd4gceyQ8C8TYDvySgGT1RMiElwIX2QrVfD HlSaLlasNvThdXMvytVdKH5jQv/QOAOsFpcZlxGXM4Tw7GlEvVjZSmsZoKzR7Np9xcnjl13AzKKA7sFx @@ -1061,8 +1061,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAJVJREFUOE/tk0ESgCAIRfX+hyZEcECJyEW1iMbJIXz8ACsAFDQoFZ++IweZ+IYj2Mip + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAJVJREFUOE/tk0ESgCAIRfX+hyZEcECJyEW1iMbJIXz8ACsAFDQoFZ++IweZ+IYj2Mip BsRljajKj2nYI1/Wd+e0yAmoQ1sagu0C3YO7wFDJjsLHgUvnnFaapgyF+vekfusgOPypyxHwWh3Ngx0b M1msLAeSKAX0xpXD6O4ES+XMAW+IzAN/hWdlzddwzIXT7W90+VWFB0CnMA5SEwr4AAAAAElFTkSuQmCC @@ -1070,8 +1070,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAGxJREFUOE9j/P//PwNFAGQAJZgizWDXI9vOysL6Hwf+APRmChDzoLsW3QBjZANAioF8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAGxJREFUOE9j/P//PwNFAGQAJZgizWDXI9vOysL6Hwf+APRmChDzoLsW3QBjZANAioF8 d5AYUDMIp+A1AKoB7goonxnJgEfkGEC+C5C88w/o/IVALE5fF5AcBkAnW1IUCxSnA3KSNHWT8oC4AACM 9Tog46ASzQAAAABJRU5ErkJggg== @@ -1079,8 +1079,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAHxJREFUOE9j/P//PwNFAGQAJZgizWDX47Md6DWQ/1Awunq8BrCysCrADACylbBZRsiA + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAHxJREFUOE9j/P//PwNFAGQAJZgizWDX47Md6DWQ/1Awunq8BrCysCrADACylbBZRsiA EJABQM0huFxKlBeABjCTbADIVqjtCXjDCafJ0MDDZzvOWABqCoTankkojWCEASi0kUJeiyQDsMU7SIys MCBkM0yetkmZGFdQ7AIA76uD72svvEQAAAAASUVORK5CYII= @@ -1088,8 +1088,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAGhJREFUOE9j/P//PwNVAchAamKqGgb2LTVdh9NAYJiCAhaOgYECCmZUMRxBhd2FSAaA + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAGhJREFUOE9j/P//PwNVAchAamKqGgb2LTVdh9NAYJiCAhaOgYECCmZUMRxBhd2FSAaA DINBmKFg/qiBsCAYDUNocoAmFPS0B+LDExGpyQY5/WFlk2IgNpdRllMoKIHoUzhQUgINfhcCAK1G3k1g YwCYAAAAAElFTkSuQmCC @@ -1098,37 +1098,37 @@ Qk1mAQAAAAAAAHYAAAAoAAAAFAAAABQAAAABAAQAAAAAAAAAAAB0EgAAdBIAABAAAAAQAAAAAAAA/wAA gP8AgAD/AICA/4AAAP+AAID/gIAA/4CAgP/AwMD/AAD//wD/AP8A/////wAA//8A/////wD//////4iI - iIiIiIiIiIiAP4iId4iIiIiIh3iAP4iHAIiIiIiIcAiAP4hw8IiIiIiHDwiAP4cP8IiIiIhw+wiAP4D/ - 8IiIiIgPvwiAP4Dw8IiIiIgLCwiAP4AP8IiICIgAvwiAP4D/8IiIAIgL+wiAP4AA8IAAAAgADwiAP4D/ - 8IAAAAgL+wiAP4AA8IiIAIgADwiAP4D/8IiICIgL+wiAP4AP8IiIiIgAvwiAP4Dw8IiIiIgPCwiAP4gP - 8IiIiIiAvwiAP4iA8IiIiIiICwiAP4iIAIiIiIiIgAiAP4iIh4iIiIiIiHiAP4iIiIiIiIiIiIiAPw== + iIiIiIiIiIgBAYiId4iIiIiIh3gBAYiHAIiIiIiIcAgBAYhw8IiIiIiHDwgBAYcP8IiIiIhw+wgBAYD/ + 8IiIiIgPvwgBAYDw8IiIiIgLCwgBAYAP8IiICIgAvwgBAYD/8IiIAIgL+wgBAYAA8IAAAAgADwgBAYD/ + 8IAAAAgL+wgBAYAA8IiIAIgADwgBAYD/8IiICIgL+wgBAYAP8IiIiIgAvwgBAYDw8IiIiIgPCwgBAYgP + 8IiIiIiAvwgBAYiA8IiIiIiICwgBAYiIAIiIiIiIgAgBAYiIh4iIiIiIiHgBAYiIiIiIiIiIiIgBAQ== Qk1mAQAAAAAAAHYAAAAoAAAAFAAAABQAAAABAAQAAAAAAAAAAAB0EgAAdBIAABAAAAAQAAAAAAAA/wAA gP8AgAD/AICA/4AAAP+AAID/gIAA/4CAgP/AwMD/AAD//wD/AP8A/////wAA//8A/////wD//////4iI - iIiIiIiIiIiAP4iEREiIiIRESIiAP4h0/0SIiET/R4iAP4h0iPSIiE+IR4iAP4h0iISIiEiIR4iAP4iH - SIRIh0iEeIiAP4iIdERHdERHiIiAP4iIiERERESIiIiAP4iIiIRP9EiIiIiAP4iIiIcERHiIiIiAP4iI - iHD/DweIiIiAP4iIhw/wT/B4iIiAP4iIcP8IgP8HiIiAP4iHD/CIiA/weIiAP4hw/wiIiID/B4iAP4cP - 8IiIiIgP8HiAP4D/CIiIiIiA/wiAP4DwiIiIiIiIDwiAP4AIiIiIiIiIgAiAP4iIiIiIiIiIiIiAPw== + iIiIiIiIiIgBAYiEREiIiIRESIgBAYh0/0SIiET/R4gBAYh0iPSIiE+IR4gBAYh0iISIiEiIR4gBAYiH + SIRIh0iEeIgBAYiIdERHdERHiIgBAYiIiERERESIiIgBAYiIiIRP9EiIiIgBAYiIiIcERHiIiIgBAYiI + iHD/DweIiIgBAYiIhw/wT/B4iIgBAYiIcP8IgP8HiIgBAYiHD/CIiA/weIgBAYhw/wiIiID/B4gBAYcP + 8IiIiIgP8HgBAYD/CIiIiIiA/wgBAYDwiIiIiIiIDwgBAYAIiIiIiIiIgAgBAYiIiIiIiIiIiIgBAQ== Qk1mAQAAAAAAAHYAAAAoAAAAFAAAABQAAAABAAQAAAAAAAAAAAB0EgAAdBIAABAAAAAQAAAAAAAA/wAA gP8AgAD/AICA/4AAAP+AAID/gIAA/4CAgP/AwMD/AAD//wD/AP8A/////wAA//8A/////wD//////4iI - iIiIiIiIiIiAP4iIiIiIgAAAAAiAP4iHd3d3cO/v7wiAP4gAAAAAAPRETgiAP4D4iIiIgO/v7wiAP4D4 - iIiIgPRETgiAP4D4iIiIgO/v7wiAP4D4iAAAgPROAAiAP4D4iIAAgO/vAIiAP4D4iAAAgAAACIiAP4D4 - gACAiAeIiIiAP4D4AAiIiAeIiIiAP4D4gIiIiAeIiIiAP4D4iIiIiAeIiIiAP4D4iIiIiAeIiIiAP4D/ - AAAA/wiIiIiAP4gATExAAIiIiIiAP4iIxMTAiIiIiIiAP4iIjEwIiIiIiIiAP4iIiIiIiIiIiIiAPw== + iIiIiIiIiIgBAYiIiIiIgAAAAAgBAYiHd3d3cO/v7wgBAYgAAAAAAPRETggBAYD4iIiIgO/v7wgBAYD4 + iIiIgPRETggBAYD4iIiIgO/v7wgBAYD4iAAAgPROAAgBAYD4iIAAgO/vAIgBAYD4iAAAgAAACIgBAYD4 + gACAiAeIiIgBAYD4AAiIiAeIiIgBAYD4gIiIiAeIiIgBAYD4iIiIiAeIiIgBAYD4iIiIiAeIiIgBAYD/ + AAAA/wiIiIgBAYgATExAAIiIiIgBAYiIxMTAiIiIiIgBAYiIjEwIiIiIiIgBAYiIiIiIiIiIiIgBAQ== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAJhJREFUOE/tlNEKgDAIRTe2///fQDAcGBd1rFkPPRRIYOt6NLuVmYu9eu8+6U75BBHV + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAJhJREFUOE/tlNEKgDAIRTe2///fQDAcGBd1rFkPPRRIYOt6NLuVmYu9eu8+6U75BBHV IoI2WmtMB22FvDPgUEySmZDiU8EMmRPMUOlY8H61nJ2ZkoWEmsSKSB49XwruzO9WyzM6S2rJpi2/Tmgr KxnOL2r1J+SCix196e/McLWHuFbR2cf/sq4VWuDww6w5ROZ8CWYsLBI8ASIt+Tz8pxenAAAAAElFTkSu QmCC @@ -1137,8 +1137,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAkZJREFUOE/VlF1IU2EYxxsbXUQJ0s0qCLooum6ZfaIXzjlbenL0QUa0UcxjbBOLIAdm + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAkZJREFUOE/VlF1IU2EYxxsbXUQJ0s0qCLooum6ZfaIXzjlbenL0QUa0UcxjbBOLIAdm VhcZG9K5KfJzq4TA40cWq5GsL83JgmgthyJqynLK5oY7zm307xzrhKm5GQT1wMv7+fx4/+/75xEAWMWF SCT6PlhBxONxwaLjHJBrQqGQ7ZKPH+fncue3n5O/BuTAPHyp8fy9hbebe77/V/Jy0rmv+zc+RbxhE0a9 EyirNKGR7sS5MiNOkgYMjk6u/IZhJoJXPS40W1+j1zMEx/A4aEcfKmrbUWSgIN68jVOe2Ie8LfZl5uDu @@ -1154,8 +1154,8 @@ iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAYFJREFUSEvtlTFrg0AUx2PTUhCEOGQQA8mS2UlDvkI+gd8ikCFDBCFDloAJxNCldnFx + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAYFJREFUSEvtlTFrg0AUx2PTUhCEOGQQA8mS2UlDvkI+gd8ikCFDBCFDloAJxNCldnFx cnC0zaAfSwK+eocJnrlLrlI79cGfO+R5P9//PVUAgE7rgSBtq3UAdqrtKgjIarXqdLtdWnueiwBe0R76 WskdyAsC8ESZd+POI4hQBYzHb5hVX9E1FoDHLmwViun0A6+TyTsBulRYhTiOQ1Rzt5K6TaxKUF7RTOHS j81mQ4es12uh7PoTWn/ShyL9tdrw3W5Hh7CmR+71QJZlplj3VaFXIkpOkqSxVFUFz/NguVzeDAEB+UyS @@ -1167,8 +1167,8 @@ iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAwBJREFUSEt9ljuOGkEQhmdYMLt47fUL24FtIhLLqUlISCwi7sEVyCDlChyBA5AgQbIr + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAwBJREFUSEt9ljuOGkEQhmdYMLt47fUL24FtIhLLqUlISCwi7sEVyCDlChyBA5AgQbIr JyQ+wUpOEQcAi9n6Sl2tmma8K9X2Y7rqr8ff1eRFUXSyLPsrchbhLw8jQyFSE6mL3IT5UcZT+IYOwhnO IqbfCOt/mYDkIjbavOb2+ebP2ZrRzqF3FaQexoaML9A1BRYGYHsoeYM6r9frGPbA6LGHjTfum+0pCAvQ myKgY5y5GfoY1vlsNqsJSIE4rz8F4y9lvBF5G2yir476NLVk484ZRwEDjIBqahwIDl2LvHaA7OGBOR9B @@ -1187,8 +1187,8 @@ iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAABlVJREFUSEu1lntQ1NcVx5fMpNPp2CZpxyax0TQz2EweplaiILDLG9HgA4NWFgwSWEQQ + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAABlVJREFUSEu1lntQ1NcVx5fMpNPp2CZpxyax0TQz2EweplaiILDLG9HgA4NWFgwSWEQQ EESQII8ICAiE1QkooEIAEQHlISCQGjQ1FuShlggCFmMBRZaHxAWEAp9e1nZ++SPPP3Jn7v529p7f/dzv Ofecs3qA7Gcfc5DzVWPMzZpqrXg+orTkISfzRsjMGCb14wEOqe+TnNRLfNy/+TDqLvvCugn7oIvgoFsE 7GrDz7edwICbhO29RcS+TrHWQcieDoJ23xLbCxFzH1WVj/i0dpy6z6bI+WSC3Bwt11rGaGwc5/LftVy6 @@ -1221,8 +1221,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAJtJREFUOE/VVIsOgCAIrP//KfsyE/K2RB5ari035hxyHKew55y3pYsAU0qhlaRHdI/J + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAJtJREFUOE/VVIsOgCAIrP//KfsyE/K2RB5ari035hxyHKew55y3pYsAU0qhlaRHdI/J ATAK8PzwNYCUPQLVGN5jOkAE0CXLvLJ9wOKlRZpgRxIL1AWUYHwukrPoxgM9YXiBVkkk03mGonwTUGbk s6JhI4NS9jKGIDSt4WcMoeXfGTrtN/wPlw6HkfFk9bA5vqKA4QFbhwr3/Vs7AVX9hX1v7jIzAAAAAElF TkSuQmCC @@ -1278,8 +1278,8 @@ iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAB6xJREFUSEt9lQk81ekaxx/EZJuZhBaU0u2OSZ0pmQ8lspTKVnPFFJG6tlKSi5sl4Vja + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAB6xJREFUSEt9lQk81ekaxx/EZJuZhBaU0u2OSZ0pmQ8lspTKVnPFFJG6tlKSi5sl4Vja EMpSp1KdpJWyTE2WlELGEpU+Mpm2a9LGib8czu++TjV3rntn3s/n+/m/z/N//8/vfZ7nfc+RERbW0lsR R2/eciQzSoE+V9Mg1dHyJN9ZSEQyJCMjS0MSGZIfhbV9nGzagFiG3ovFRBIJiQeHaGhIwmwJWyshBdlB Uux70yz7pZxQwXhKoqLSRFLqUx2kYZH9udeIn/EDxR0so/Tzdyir4BElJwkolR9BWWnJFBqapp25L31/ @@ -1318,8 +1318,8 @@ iVBORw0KGgoAAAANSUhEUgAAALQAAABjCAYAAAAy9iqlAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAJx1JREFUeF7tffd3FMf2J3v2e87+uP/Gnu/ue34mJ9vYGHAEbGyCAYNxwgkwGIzJOdgE + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAJx1JREFUeF7tffd3FMf2J3v2e87+uP/Gnu/ue34mJ9vYGHAEbGyCAYNxwgkwGIzJOdgE g9Ozcc429jM5RwkkJKGcc85plEcS4u7nUz0909PTEyQGmdA656or3LqVPnXrdldN1f948qU9xf+r/sz/ Lq5wDPiv//qfA+w/uwVutxYQGTBArl8f8M9//p+mAf8YMqH1gYcel4fGT5aHxtlkt8HtiYExwO79Y8a3 Dhg2bIRj9JhHZPjIMTLyvodl1P3jZeT9D8uI0WNl5OiH8GTYOBWu0TjFq4VrfmPcqAc8YSMhg3y6XJ1/ @@ -2669,8 +2669,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAxBJREFUOE+Nk/tPk2cUx3Wb2R+yGLMETYyo05hlupCiQg2gby0IDEdXyqVcCnaVS4v0 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAxBJREFUOE+Nk/tPk2cUx3Wb2R+yGLMETYyo05hlupCiQg2gby0IDEdXyqVcCnaVS4v0 pU68lHZACcLWyiaToAj1JV4WGUzHwnDLogM3WabhUlMLyyyrIvazviwt8Tef5OQ5eXLO5zznPN9nNbAq uirtA1sjvpJw+P231rwR9/aaN1cH/128+3QhdCMcDnubzaqfYsFRRwbIVtU4UFTjlB54hoa5/mAMaWoA z2QtJZIWQfyC3KOeCU3VOW00ProvJ1fapULRLS303LvCnX/uMv5shoreeux/VJN/WckuWwMZ4gjppo5g @@ -2689,8 +2689,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAATBJREFUOE9j/P//PwNFAGQAOgYaCDIVKAw2HM7GqhabIEwMZgheNVQzIDo6Otff33+X + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAATBJREFUOE9j/P//PwNFAGQAOgYaCDIVKAw2HM7GqhabIEwMZgheNVQzIDo6Otff33+X t7f3THd3dwGY82EWWFhYlAPxfyguh7sSxPD19e338fF57OHhccrV1fW/tbX1I2QDgJrSQBqRDAMZ5AJW AyKANtbDJIGGvLW0tIQHIEgcqPgMFgM64AaAGEFBQX1AfNXLy+sbTDEsEBMSEmBOh9NZWVkQS4CahEJD Q/+HhITcA7IF7O3tb5mbm6O74C7U72BnI2OQ/ysCAgL+u7m5LXZ2duYHav5mZmaGbgAsAFcBDRIEYqXV @@ -2701,8 +2701,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAoJJREFUOE99kd1LU2Ecx0939Rd022UXQdBFXZVdh10FERRBipXD1CRDS8tmRbhM09LE + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAoJJREFUOE99kd1LU2Ecx0939Rd022UXQdBFXZVdh10FERRBipXD1CRDS8tmRbhM09LE WavUaCnpsqzhnNPlKvNlrFm+pem0Njdtup3nnPOc7dtznmGQbB34cODh+b78fs8WAMLmr981TtjZVjWm CgpNIMtUoCrlf1mhgqrGpZyM9G2CZrCZgY/jMjuD+6sPQ545vB+eht31DW/7v+BVzyi6bG7UmboID09m 4Bj0UgZsTje6e4dhsX6C2eJES7sdTc/eof7xa9QYLVpIcgNzpw2qGuNQqkJRKIdIMkQi4Xc4ghJ9lVZS @@ -2719,8 +2719,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl mr0081Gr+aD5mI/Kx3TO1po5zbmcaahIiKBkOvGBqTnndu+3cw45kmYHvpx7Lvf3Oed87s8DAFep7SYT OJ53kghrZ4Hn4sNEHhwZ1wqsYjJpn0RvZms2aGFFkwUCeFd4gceyQ8C8TYDvySgGT1RMiElwIX2QrVfD HlSaLlasNvThdXMvytVdKH5jQv/QOAOsFpcZlxGXM4Tw7GlEvVjZSmsZoKzR7Np9xcnjl13AzKKA7sFx @@ -2738,8 +2738,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAJVJREFUOE/tk0ESgCAIRfX+hyZEcECJyEW1iMbJIXz8ACsAFDQoFZ++IweZ+IYj2Mip + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAJVJREFUOE/tk0ESgCAIRfX+hyZEcECJyEW1iMbJIXz8ACsAFDQoFZ++IweZ+IYj2Mip BsRljajKj2nYI1/Wd+e0yAmoQ1sagu0C3YO7wFDJjsLHgUvnnFaapgyF+vekfusgOPypyxHwWh3Ngx0b M1msLAeSKAX0xpXD6O4ES+XMAW+IzAN/hWdlzddwzIXT7W90+VWFB0CnMA5SEwr4AAAAAElFTkSuQmCC @@ -2747,8 +2747,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAKRJREFUOE/NlNEOgCAIRcv55P//ay8u61owJE03aavGJgInuC7XlNJi+gBoaaawPK1l + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAKRJREFUOE/NlNEOgCAIRcv55P//ay8u61owJE03aavGJgInuC7XlNJi+gBoaaawPK1l dwUwuLBpO8XgtxbHHmfc0nGH3vkU98hGACqAL+NYFzk9YP5AvIoArQGLnBEgCuSoukPEyegsmiPXivUe +YB2gVrTN38YKCF6rf1mh1IXWmM0Aug4xYZGNulQCi0PYVrD6VNu/Vqj+w8NrS6J726b33Z4AFzeFLS3 F5viAAAAAElFTkSuQmCC @@ -3387,8 +3387,8 @@ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAABEVJREFUWEfNV9tOlFcY/e56ZdMn6Cv4FD5AY7VWrVbFEyPtrRdNTJrGZ+g71BLjRdNo + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAABEVJREFUWEfNV9tOlFcY/e56ZdMn6Cv4FD5AY7VWrVbFEyPtrRdNTJrGZ+g71BLjRdNo bBPTtLYesCgUOXigOAKOMwNyHOBfXWvP/obNwGwghqQ7WSGBP986fN8+YPa/Wgdv1+zTX2GH7hC/wQ7/ DvvsLuzIX7DP78OOPiQewY71w44/gX0xSAzBTgzDTo4QY7Avn8NOvSDGa3Z64uTu/JH8wSTeGz8OApd/ Wsa+Uhl2prwLEXQ+8Abvjd5+4MD3wDc/N7Dv0hSsa2qHIhj7aA0B/1SAx9PAE0KiBgn9Thginr5tYjhi @@ -3412,8 +3412,8 @@ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAz9JREFUWEftl2tIk2EUxyXCEs0Ki8hkVtrKCvxQGFSmeJnm1MQuQlJiikJSU3CaZm1K + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAz9JREFUWEftl2tIk2EUxyXCEs0Ki8hkVtrKCvxQGFSmeJnm1MQuQlJiikJSU3CaZm1K ZJhkyIRpk+UNRaRQW9GU3kRRIy+laB90rEiyqBRU1Ozy77yOvM3pPjxCHxz84GEMzm/nfc7ltbBY/fwP GUj0EboSMimP7yxJdE4SGUiei59Qds3AKSb+FJyryIqBtijNmGL6jqhbBBIYZibQ31mKP5Ma/B5RmQ0J gIkApZ3r71Tj50AMJtsszSbFXwjCgyeV56SB6/8IoDOxrOS0QEc+pj5GY/zVerNRxh1EgfQMHvAkzaKi @@ -3433,8 +3433,8 @@ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAABWRJREFUWEfFl2tQVGUch/nuNDZ9yWb61AdrqrEZdaY+FGZjXhpKzEQhkMBrDCiKLhcB + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAABWRJREFUWEfFl2tQVGUch/nuNDZ9yWb61AdrqrEZdaY+FGZjXhpKzEQhkMBrDCiKLhcB EVTkzoYSF3FJZHUrL1wSUVdWUTSdadQ2MbVNK9BEBfG+lU//9xwXhj1rVO7omfnNnrN7zj7P+77/877n BAQ8+a1gaEBAQbeExxxhapsmQNl+Hmv0xvZtBTxtgsBcGJMnIg5oOQ37JHtPwZ4foNkJu76HnSehSaL2 1Xe75bc9co69XT9fXef4EfafgdazcPAcHJD9DQdhhgXCJIplEHhqKYyKdTA6zsE++dPe23p6bsK1G3Dl @@ -3463,8 +3463,8 @@ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAACZZJREFUWEfFl2dUVFkWRhXDCJIzigTFbItSpjEHBIlFFAMCY+oxgmIYTCWhwVYEJSmI + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAACZZJREFUWEfFl2dUVFkWRhXDCJIzigTFbItSpjEHBIlFFAMCY+oxgmIYTCWhwVYEJSmI VYoBoUREQRAVxJwds20r2CYMQIFEbeWbc28JDoPMcvwzrHXWg6pX7+z3nX3vo1q3auEn3L6TULHNJyet 9rVjP9e3NvkEhVaf6lm1LqffD3+GwpbFmW9utfT573kdQPPTjnu2Nz82/S83V1t1hdhFE4c8lCCdrIxk NxUkuahB7KSBeEctxNjrYqudnvf3NGrpnGYABT5t1PK82sikHspYY90VyZNVkTmtAw5PUcTByR1xwF0F @@ -3511,8 +3511,8 @@ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAABadJREFUWEftl1lMVFcYx89r0xcf2jRp04cqBglqkYALiCAVClqkbMowwIDsy4gCFZfg + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAABadJREFUWEftl1lMVFcYx89r0xcf2jRp04cqBglqkYALiCAVClqkbMowwIDsy4gCFZfg aSIaGKgjRLHaugA6NdJqjAKJSy4FAkEFBCoWquBQBEQEBGWHf883Aqm5jQyEx97kl+Ee7ve/v/vdM5Nz GPv/mK0DXhJnPqVg2yvAFPfB/GrB/B+CBTaCqZ6ABevBdrSBhXSAhXWBhb8Ei+gDi+yXZos27v8+ZXyP rhU9g0DfMDAwArwZBQYFQ2PA8L+gcxovejguBF4vkMD2Sp6oe4YXb4CeobcS/ULi9ZTItAx9EiRYSAJR @@ -3542,8 +3542,8 @@ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAA8JJREFUWEftln1M1HUcx/kjCRE4EWiwllB/XKutteqPVqtsJfjEQzYqXVSuMFM3L4sH + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAA8JJREFUWEftln1M1HUcx/kjCRE4EWiwllB/XKutteqPVqtsJfjEQzYqXVSuMFM3L4sH w+N+lE4nD00d8hAgSa6YMhK1MbHrcCytLSM2bOZIatacPcyJYFCxV+/fHXh33ulw+7n1h7e9tt/3e7f7 vu7z+Xw/94mIuPn6P0SgYK49RxiF6cEUaV2U4aM4kHl2Y50PmyX+OpyuXc7wtGhfHL6ClrI8JNBsiUCh BBj/lvGRVsaHGqfEwDGXKeCxRiDdFDjG6DeRU+bk3jjemW/vFXNMSkwW+FmvZy8LfTgX2u+/qqxyD/92 @@ -3565,8 +3565,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAt5JREFUOE990mlIFGEYwPEx61tEQfUlKoiCoMCgvnQa9KGIgm6prIgOrdUsu9Mao/uk + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAt5JREFUOE990mlIFGEYwPEx61tEQfUlKoiCoMCgvnQa9KGIgm6prIgOrdUsu9Mao/uk Qwm0UsotK0srLzowKDvddjfLbdXWaEjUckqzVdx1/j3jTkkEDfyZYdj39z7vsGGKec1/GKmEhU9VevRS lLCeitLDqus5PPQuzLyHf1cyh5zuWiMXYD0teKS6GuB/5VZAVHYHAzY1Zv4LLCpTa79DRSO4BXor98ov 4P0KVU1QrUNuucGYFIMl9gADN+tdSPcEUS/Uhp8CvCjFcSUFZ85eXDkpeF6V4vsGHwW/8dyg37IQEn01 @@ -3584,8 +3584,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAmVJREFUOE+lU1tsi2EY5u7//57Wrqtu7dodulI7VDY26RRzmLDZuLFgF+wCcdNLFxJ1 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAmVJREFUOE+lU1tsi2EY5u7//57Wrqtu7dodulI7VDY26RRzmLDZuLFgF+wCcdNLFxJ1 oavMeQkSMaeNYKMTyw5dpqWMOWQuiFo6P0NCikZiC0Me3/dVk7ZzIXzJ8+fL+/7v872H550OYNp/nRjB Dp4zEhzaI3C+GFwS3tdI4Iqz7eS50+S/RfRRFks/xKBwClykRcbhjJzHeZUMVzJScd2oRVeWFp2ZGlzS pOCcQmD+RoEDJYkncJwgwWeJs0OrQp85EwGrGUPz8nG/tACDJRb48nMYYZtKykh28ZwnnsBJje1aJQYs @@ -3601,8 +3601,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAm5JREFUOE/V1N9PklEYB3D7j5oX4kYujUSwCeTCMBnzZy5/IqYU+PKC/MjUV0HBH6kY + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAm5JREFUOE/V1N9PklEYB3D7j5oX4kYujUSwCeTCMBnzZy5/IqYU+PKC/MjUV0HBH6kY hgqJFWWOdM1y1hxUyua8SC9aF82buugmHB6/Hd/WRbr2XuRN5+y5OtvnPM95zp4zADJOdR2BpxknsQx6 wV+2rKAAR/HH+bGE/kPQ631P3O446e1ZIw/DOyQY3CKBQJJMTn4g4+MJMjq6Try+14jFNsje3jdy/P1P lNzdvUJGRzbhsMcQjf7A2PgXDHo/oYf7CLtzG2Z2E7V1r6gD6HQjwqDLtUwGBtZhZZ9ibu47BnwU69uB @@ -3618,8 +3618,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAqJJREFUOE+11Nsz1GEcx3H9B/0j3XTRRTNNE2MoCjnFThMbOUeOG4vdikJb2ZyKqW21 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAqJJREFUOE+11Nsz1GEcx3H9B/0j3XTRRTNNE2MoCjnFThMbOUeOG4vdikJb2ZyKqW21 hUZc2MHKMK0I01iHQgwt5Vg5LbvsmHfLjFXTr67W75lnnovfzGs+n+eZ+R4CnBz67YCO3A7Fdtva0znZ kv5nnXZ3JyoiYqfP3+u3lgcPylUfeVg7hrrpyx9p9hKqtOMUVhlIVXbt/xdK+LRhlIyyXmSqIcybVqYX N6jvmNndOyX3wKHJdXQ9P5CVtHK7SIM4qcB2a/sPa6+saRxBqx9FUtKDZWubqtZpalrH6eifR1rylj1w @@ -3634,7 +3634,7 @@ - 5,0,0,0,0,100,Columns:0{Width:109;Name:"MyAnnotationType";Caption:"Type";AllowEditing:False;Style:"TextAlign:GeneralCenter;";} 1{Width:66;Name:"DTS";Caption:"Date";AllowEditing:False;Style:"Format:""d"";DataType:System.DateTime;TextAlign:LeftCenter;";} 2{Width:91;Name:"UserID";Caption:"User";AllowEditing:False;Style:"DataType:System.String;TextAlign:LeftCenter;";} 3{Name:"BrokenRules";Caption:"BrokenRules";Visible:False;AllowEditing:False;Style:"TextAlign:GeneralCenter;";} 4{Width:82;Name:"SearchText";Caption:"Description";AllowEditing:False;Style:"DataType:System.String;TextAlign:GeneralCenter;";} + 5,0,0,0,0,85,Columns:0{Width:109;Name:"MyAnnotationType";Caption:"Type";AllowEditing:False;Style:"TextAlign:GeneralCenter;";} 1{Width:66;Name:"DTS";Caption:"Date";AllowEditing:False;Style:"Format:""d"";DataType:System.DateTime;TextAlign:LeftCenter;";} 2{Width:91;Name:"UserID";Caption:"User";AllowEditing:False;Style:"DataType:System.String;TextAlign:LeftCenter;";} 3{Name:"BrokenRules";Caption:"BrokenRules";Visible:False;AllowEditing:False;Style:"TextAlign:GeneralCenter;";} 4{Width:82;Name:"SearchText";Caption:"Description";AllowEditing:False;Style:"DataType:System.String;TextAlign:GeneralCenter;";} 156, 17 @@ -3645,8 +3645,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA - CxMBAJqcGAAAAkNJREFUOE+d0l1IU2EYB/AZXSR0GV10bRclXWRdRB8kk5TIMV3iFgWC1FhgZbNlBNY2 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAAkNJREFUOE+d0l1IU2EYB/AZXSR0GV10bRclXWRdRB8kk5TIMV3iFgWC1FhgZbNlBNY2 KqEwzbkMwpVzKyoWeswuXNOWy8yZ8zPXyMlcbbbvj+NZ24x/74JC7BjSgQfOxfv+zv95zpMFgKN60LW+ KH9X0ez8At/1xb8tGqc3B4KRjRuysz/lbM1rquBtpzirPRmg941Nrm6nxrpMQwmj9SOMU07cowZwsUkP geRaoPxM/YnMObbilElubGnWdL43DY7/8NEMPEwSzhiDUR8Nauor5JoeFB6vTR0S1eSwAiaLTaPr7Iu7 @@ -3662,8 +3662,8 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScwAA - EnMBjCK5BwAAAKRJREFUOE/NlNEOgCAIRcv55P//ay8u61owJE03aavGJgInuC7XlNJi+gBoaaawPK1l + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAKRJREFUOE/NlNEOgCAIRcv55P//ay8u61owJE03aavGJgInuC7XlNJi+gBoaaawPK1l dwUwuLBpO8XgtxbHHmfc0nGH3vkU98hGACqAL+NYFzk9YP5AvIoArQGLnBEgCuSoukPEyegsmiPXivUe +YB2gVrTN38YKCF6rf1mh1IXWmM0Aug4xYZGNulQCi0PYVrD6VNu/Vqj+w8NrS6J726b33Z4AFzeFLS3 F5viAAAAAElFTkSuQmCC @@ -3678,6 +3678,9 @@ 2WkfN4pguJFVeabXC8fyTNf2bRcAOw== + + 499, 17 + 41 diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ContentExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ContentExt.cs index a77a66c8..277c0348 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ContentExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ContentExt.cs @@ -18,6 +18,13 @@ namespace VEPROMS.CSLA.Library } public partial class ContentInfo { + public void AddPart(SafeDataReader dr, ItemInfo itemInfo) + { + if (_ContentParts == null) + _ContentParts = new PartInfoList(dr, itemInfo); + else + _ContentParts.AddPartInfo(dr, itemInfo); + } public override string ToString() { return string.Format("{0} {1}", Number, Text); @@ -41,6 +48,48 @@ namespace VEPROMS.CSLA.Library // xn.Attributes.Append(xa); // } //} + internal ContentInfo(SafeDataReader dr,bool ForItem) + { + if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ContentInfo.Constructor", GetHashCode()); + try + { + ReadDataItemList(dr); + } + catch (Exception ex) + { + if (_MyLog.IsErrorEnabled) _MyLog.Error("ContentInfo.Constructor", ex); + throw new DbCslaException("ContentInfo.Constructor", ex); + } + } + private void ReadDataItemList(SafeDataReader dr) + { + if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ContentInfo.ReadDataItemList", GetHashCode()); + try + { + _ContentID = dr.GetInt32("ContentID"); + _Number = dr.GetString("Number"); + _Text = dr.GetString("Text"); + _Type = (int?)dr.GetValue("Type"); + _FormatID = (int?)dr.GetValue("FormatID"); + _Config = dr.GetString("Config"); + _DTS = dr.GetDateTime("cDTS"); + _UserID = dr.GetString("cUserID"); + _ContentDetailCount = dr.GetInt32("DetailCount"); + _ContentEntryCount = dr.GetInt32("EntryCount"); + _ContentItemCount = dr.GetInt32("ItemCount"); + _ContentPartCount = dr.GetInt32("cPartCount"); + _ContentRoUsageCount = dr.GetInt32("RoUsageCount"); + _ContentTransitionCount = dr.GetInt32("TransitionCount"); + _ContentZContentCount = dr.GetInt32("ZContentCount"); + } + catch (Exception ex) + { + if (_MyLog.IsErrorEnabled) _MyLog.Error("ContentInfo.ReadData", ex); + _ErrorMessage = ex.Message; + throw new DbCslaException("ContentInfo.ReadData", ex); + } + } + } public partial class ContentInfoList { diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/FormatExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/FormatExt.cs index 6a6ab774..97f764cc 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/FormatExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/FormatExt.cs @@ -23,7 +23,7 @@ namespace VEPROMS.CSLA.Library public partial class Format { #region PlantFormat - //[NonSerialized] + [NonSerialized] private PlantFormat _PlantFormat; public PlantFormat PlantFormat { get { return (_PlantFormat != null ? _PlantFormat : _PlantFormat = new PlantFormat(this)); } } @@ -37,7 +37,7 @@ namespace VEPROMS.CSLA.Library public partial class FormatInfo { #region PlantFormat - //[NonSerialized] + [NonSerialized] private PlantFormat _PlantFormat; public PlantFormat PlantFormat { get { return (_PlantFormat != null ? _PlantFormat : _PlantFormat = new PlantFormat(this.Get())); } } diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 0455016f..e32f98d5 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -1,3 +1,5 @@ +#define ItemWithContent + using System; using System.Collections.Generic; using System.Text; @@ -15,7 +17,7 @@ namespace VEPROMS.CSLA.Library { public override string ToString() { - return string.Format("{0} {1}", MyContent.Number, MyContent.Text); + return string.Format("{0} {1}", MyContent.Number, MyContent.Text).Trim(); } // TODO: Move to ItemInfo Extension @@ -84,8 +86,205 @@ namespace VEPROMS.CSLA.Library } #endregion #region ItemInfo - public partial class ItemInfo:IVEDrillDownReadOnly + public partial class ItemInfo:IVEDrillDownReadOnly { + #region LoadAtOnce2 + public static ItemInfo GetItemAndChildren2(int? itemID) + { + try + { + ItemInfo tmp = DataPortal.Fetch(new ItemAndChildrenCriteria2(itemID)); + //_AllList.Add(tmp); + if (tmp.ErrorMessage == "No Record Found") tmp = null; + return tmp; + } + catch (Exception ex) + { + throw new DbCslaException("Error on ItemInfoList.GetItemAndChildren2", ex); + } + } + // Criteria to get Item and children + [Serializable()] + private class ItemAndChildrenCriteria2 + { + public ItemAndChildrenCriteria2(int? itemID) + { + _ItemID = itemID; + } + private int? _ItemID; + public int? ItemID + { + get { return _ItemID; } + set { _ItemID = value; } + } + } + // Data Portal to Get Item and Children + private void DataPortal_Fetch(ItemAndChildrenCriteria2 criteria) + { + try + { + using (SqlConnection cn = Database.VEPROMS_SqlConnection) + { + ApplicationContext.LocalContext["cn"] = cn; + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandText = "getItem"; + cm.Parameters.AddWithValue("@ItemID", criteria.ItemID); + using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) + { + if (!dr.Read()) + { + _ErrorMessage = "No Record Found"; + return; + } + ReadData(dr); + } + } + SpinThroughChildren(); + // removing of item only needed for local data portal + if (ApplicationContext.ExecutionLocation == ApplicationContext.ExecutionLocations.Client) + ApplicationContext.LocalContext.Remove("cn"); + } + } + catch (Exception ex) + { + Database.LogException("ItemInfoList.DataPortal_Fetch", ex); + throw new DbCslaException("ItemInfoList.DataPortal_Fetch", ex); + } + _AllList.Remove(this); + } + private void SpinThroughChildren() + { + if(MyContent.ContentPartCount > 0) + foreach(PartInfo partInfo in MyContent.ContentParts) + foreach (ItemInfo itemInfo in partInfo.MyItems) + itemInfo.SpinThroughChildren(); + } + #endregion + #region LoadAtOnce + // Method to Get Item and children + public static ItemInfo GetItemAndChildren(int? itemID,int? parentID) + { + try + { + ItemInfo tmp = DataPortal.Fetch(new ItemAndChildrenCriteria(itemID,parentID)); + //_AllList.Add(tmp); + if (tmp.ErrorMessage == "No Record Found") tmp = null; + return tmp; + } + catch (Exception ex) + { + throw new DbCslaException("Error on ItemInfoList.GetChildren", ex); + } + } + // Criteria to get Item and children + [Serializable()] + private class ItemAndChildrenCriteria + { + public ItemAndChildrenCriteria(int? itemID, int? parentID) + { + _ItemID = itemID; + _ParentID = parentID; + } + private int? _ItemID; + public int? ItemID + { + get { return _ItemID; } + set { _ItemID = value; } + } + private int? _ParentID; + public int? ParentID + { + get { return _ParentID; } + set { _ParentID = value; } + } + } + // Data Portal to Get Item and Children + private void DataPortal_Fetch(ItemAndChildrenCriteria criteria) + { + //ItemInfo tmp = null; + Dictionary lookup = new Dictionary(); ; + try + { + using (SqlConnection cn = Database.VEPROMS_SqlConnection) + { + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandText = "vesp_ListItemAndChildren"; + cm.Parameters.AddWithValue("@ItemID", criteria.ItemID); + cm.Parameters.AddWithValue("@ParentID", criteria.ParentID); + using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) + { + while (dr.Read()) + { + if (dr.GetInt32("Level")==0) + { + //tmp = itemInfo; + ReadData(dr); + AddContent(dr); + lookup[this.ItemID] = this; + } + else + { + ItemInfo itemInfo = null; + int itemType = dr.GetInt32("Type") / 10000; + switch (itemType) + { + case 0: + itemInfo = new ProcedureInfo(dr); + break; + case 1: + itemInfo = new SectionInfo(dr); + break; + case 2: + itemInfo = new StepInfo(dr); + break; + } + // Load Children + itemInfo.AddContent(dr); + ItemInfo parent = lookup[dr.GetInt32("ParentID")]; + itemInfo._ActiveParent = parent; + itemInfo._ActiveSection = (itemInfo.IsSection ? itemInfo : parent._ActiveSection); + parent.AddPart(dr, itemInfo); + lookup.Add(itemInfo.ItemID, itemInfo); + } + } + //Console.WriteLine("I'm here {0}",this.MyContent.ContentPartCount); + } + } + } + } + catch (Exception ex) + { + Database.LogException("ItemInfoList.DataPortal_Fetch", ex); + throw new DbCslaException("ItemInfoList.DataPortal_Fetch", ex); + } + } + private void AddPart(SafeDataReader dr, ItemInfo itemInfo) + { + // Either a new PartInfo or an existing PartInfo + if (dr.IsDBNull(dr.GetOrdinal("PreviousID"))) + { + //PartInfo prt = new PartInfo(dr, itemInfo); + _MyContent.AddPart(dr, itemInfo); + } + else + { + foreach (PartInfo pi in MyContent.ContentParts) + { + if (dr.GetInt32("FromType") == (int)pi.PartType) + { + if (pi._MyItems == null) + pi._MyItems = new ItemInfoList(itemInfo); + else + pi.MyItems.AddItem(itemInfo); + } + } + } + } + #endregion public bool IsType(string type) { int stepType = ((int)MyContent.Type) % 10000; @@ -188,7 +387,8 @@ namespace VEPROMS.CSLA.Library { // check to see if ActiveParent is a section, if so it is a high level step if (MyContent.Type / 10000 != 2) return false; - ItemInfo parent = (ItemInfo)ActiveParent; + ItemInfo parent = ActiveParent as ItemInfo; + if (parent == null) return false; if ((parent.MyContent.Type / 10000) == 1) return true; return false; @@ -215,7 +415,9 @@ namespace VEPROMS.CSLA.Library { if (IsHigh) return false; if (IsRNO) return true; - return ((ItemInfo)ActiveParent).IsInRNO; + ItemInfo parent = ActiveParent as ItemInfo; + if (parent == null) return false; + return parent.IsInRNO; } } public ItemInfo FirstSibling @@ -241,7 +443,9 @@ namespace VEPROMS.CSLA.Library { if (IsHigh) return false; if (IsSubStep) return true; - return ((ItemInfo)ActiveParent).IsInSubStep; + ItemInfo parent = ActiveParent as ItemInfo; + if (parent == null) return false; + return parent.IsInSubStep; } } public bool IsInFirstLevelSubStep @@ -249,6 +453,7 @@ namespace VEPROMS.CSLA.Library get { ItemInfo temp = FirstSibling; + if(temp.ActiveParent.GetType() == typeof(VEPROMS.CSLA.Library.DocVersionInfo))return false; while (((ItemInfo)temp.ActiveParent).IsHigh == false) temp = ((ItemInfo)temp.ActiveParent).FirstSibling; return temp.IsSubStep; } @@ -334,12 +539,14 @@ namespace VEPROMS.CSLA.Library { get { - //int retval = 1; - //for (ItemInfo ii = MyParent; ii != null; ii = ii.MyParent) retval++; - //return retval; - //if (_Ordinal != null) return (int)_Ordinal; // Cache Ordinal - if (MyPrevious != null) return (int)(_Ordinal = MyPrevious.Ordinal + 1); - return (int)(_Ordinal = 1); + if (_Ordinal == null) + { + if (MyPrevious != null) + _Ordinal = MyPrevious.Ordinal + 1; + else + _Ordinal = 1; + } + return (int) _Ordinal; } } public string CslaType @@ -352,7 +559,7 @@ namespace VEPROMS.CSLA.Library ContentInfo cont = MyContent; string number = cont.Number; if (cont.Type >= 20000) number = Ordinal.ToString() + "."; - return string.Format("{0} {1}", number, cont.Text); + return string.Format("{0} {1}", number, cont.Text).Trim(); //return string.Format("{0} {1}", cont.Number, cont.Text); //return "Now is the time for all good men to come to the aid of their country!"; } @@ -544,6 +751,7 @@ namespace VEPROMS.CSLA.Library } } private IVEDrillDownReadOnly _ActiveParent = null; + public IVEDrillDownReadOnly MyActiveParent { get { return _ActiveParent; } } public IVEDrillDownReadOnly ActiveParent { get @@ -568,14 +776,36 @@ namespace VEPROMS.CSLA.Library } return _ActiveParent==this ? null : _ActiveParent; } - //get - //{ - // if (MyPrevious != null) return _MyPrevious.ActiveParent; - // if (ItemDocVersionCount > 0) return ItemDocVersions[0]; - // ContentInfo parentContent = ParentContent; - // if (parentContent == null || parentContent.ContentItemCount == 0) return null; - // return parentContent.ContentItems[0]; - //} + internal set + { + _ActiveParent = value; + } + } + private ItemInfo _ActiveSection = null; + public ItemInfo MyActiveSection { get { return _ActiveSection; } } + public ItemInfo ActiveSection + { + get + { + if (_ActiveSection == null) + { + if (IsSection) + _ActiveSection = this; + else + { + ItemInfo parent = ActiveParent as ItemInfo; + if (parent != null) + _ActiveSection = parent.ActiveSection; + else + _ActiveSection = this; + } + } + return _ActiveSection.IsSection ? _ActiveSection : null; + } + set + { + _ActiveSection = value; + } } private FormatInfo _ActiveFormat = null; public FormatInfo ActiveFormat @@ -619,6 +849,24 @@ namespace VEPROMS.CSLA.Library public Color BackColor { get { return (ItemAnnotationCount > 0 ? Color.Yellow : Color.White); } } #endregion + internal ItemInfo(SafeDataReader dr, bool forItem) + { + if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemInfo.Constructor", GetHashCode()); + try + { + ReadData(dr); + AddContent(dr); + } + catch (Exception ex) + { + if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemInfo.Constructor", ex); + throw new DbCslaException("ItemInfo.Constructor", ex); + } + } + private void AddContent(SafeDataReader dr) + { + _MyContent = new ContentInfo(dr, true); + } } #endregion ItemInfo #region ItemInfoList @@ -631,6 +879,10 @@ namespace VEPROMS.CSLA.Library // itemInfo.ToXml(xn); // } //} + internal ItemInfoList(ItemInfo itemInfo) + { + AddItem(itemInfo); + } public static ItemInfoList GetList(int? itemID,int type) { try @@ -638,7 +890,9 @@ namespace VEPROMS.CSLA.Library ItemInfoList tmp = DataPortal.Fetch(new ItemListCriteria(itemID,type)); ItemInfo.AddList(tmp); tmp.AddEvents(); - ContentInfoList.GetList(itemID); +#if (!ItemWithContent) // If ItemWithContent is set, the content is returned with the ItemInfoList + ContentInfoList.GetList(itemID); // Performance - Load All Content +#endif return tmp; } catch (Exception ex) @@ -677,11 +931,14 @@ namespace VEPROMS.CSLA.Library using (SqlCommand cm = cn.CreateCommand()) { cm.CommandType = CommandType.StoredProcedure; +#if ItemWithContent + cm.CommandText = "vesp_ListItemsAndContent"; +#else cm.CommandText = "vesp_ListItems"; +#endif cm.Parameters.AddWithValue("@ItemID", criteria.ItemID); using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { - IsReadOnly = false; while (dr.Read()) { ItemInfo itemInfo = null; @@ -697,9 +954,10 @@ namespace VEPROMS.CSLA.Library itemInfo = new StepInfo(dr); break; } + IsReadOnly = false; this.Add(itemInfo); + IsReadOnly = true; } - IsReadOnly = true; } } } @@ -711,13 +969,23 @@ namespace VEPROMS.CSLA.Library } this.RaiseListChangedEvents = true; } + internal void AddItem(ItemInfo itemInfo) + { + IsReadOnly = false; + this.Add(itemInfo); + IsReadOnly = true; + } } #endregion #region ProcedureInfo [Serializable()] public partial class ProcedureInfo : ItemInfo, IVEDrillDownReadOnly { +#if ItemWithContent + public ProcedureInfo(SafeDataReader dr) : base(dr, true) { } +#else public ProcedureInfo(SafeDataReader dr) : base(dr) { } +#endif public new Procedure Get() { return (Procedure) (_Editable = Procedure.Get(ItemID)); @@ -788,7 +1056,11 @@ namespace VEPROMS.CSLA.Library [Serializable()] public partial class SectionInfo : ItemInfo, IVEDrillDownReadOnly { +#if ItemWithContent + public SectionInfo(SafeDataReader dr) : base(dr, true) { } +#else public SectionInfo(SafeDataReader dr) : base(dr) { } +#endif public new Section Get() { return (Section)(_Editable = Section.Get(ItemID)); @@ -865,7 +1137,11 @@ namespace VEPROMS.CSLA.Library //{ // return "Step " + base.ToString(); //} +#if ItemWithContent + public StepInfo(SafeDataReader dr) : base(dr, true) { } +#else public StepInfo(SafeDataReader dr) : base(dr) { } +#endif public new Step Get() { return (Step)(_Editable = Step.Get(ItemID)); diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/PartExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/PartExt.cs index 38b8abaf..077beab4 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/PartExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/PartExt.cs @@ -27,8 +27,54 @@ namespace VEPROMS.CSLA.Library return string.Format("{0} {1}", MyItem.MyContent.Number, MyItem.MyContent.Text); } } + public partial class PartInfoList + { + internal PartInfoList(SafeDataReader dr, ItemInfo itemInfo) + { + AddPartInfo(dr,itemInfo); + } + internal void AddPartInfo(SafeDataReader dr, ItemInfo itemInfo) + { + IsReadOnly = false; + this.Add(new PartInfo(dr, itemInfo)); + IsReadOnly = true; + } + } public partial class PartInfo : IVEDrillDownReadOnly { + internal PartInfo(SafeDataReader dr, ItemInfo itemInfo) + { + if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] PartInfo.Constructor", GetHashCode()); + try + { + ReadData(dr, itemInfo); + } + catch (Exception ex) + { + if (_MyLog.IsErrorEnabled) _MyLog.Error("PartInfo.Constructor", ex); + throw new DbCslaException("PartInfo.Constructor", ex); + } + } + private void ReadData(SafeDataReader dr, ItemInfo itemInfo) + { + if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] PartInfo.ReadData", GetHashCode()); + try + { + _ContentID = dr.GetInt32("pContentID"); + _FromType = dr.GetInt32("FromType"); + _ItemID = dr.GetInt32("ItemID"); + _DTS = dr.GetDateTime("pDTS"); + _UserID = dr.GetString("pUserID"); + _MyItem = itemInfo; + _MyItems = new ItemInfoList(itemInfo); + } + catch (Exception ex) + { + if (_MyLog.IsErrorEnabled) _MyLog.Error("PartInfo.ReadData", ex); + _ErrorMessage = ex.Message; + throw new DbCslaException("PartInfo.ReadData", ex); + } + } public E_FromType PartType { get { return (E_FromType)_FromType; } } public E_FromTypes PartTypes @@ -44,7 +90,7 @@ namespace VEPROMS.CSLA.Library #region IVEDrillDownReadOnly public ItemInfoList _MyItems; public ItemInfoList MyItems - { get { return (_MyItems != null? _MyItems : _MyItems = ItemInfoList.GetList(_ItemID,_FromType)); } } + { get { return (_MyItems != null ? _MyItems : _MyItems = ItemInfoList.GetList(_ItemID, _FromType)); } } public System.Collections.IList GetChildren() { return (_MyItems != null ? _MyItems : _MyItems = ItemInfoList.GetList(_ItemID, _FromType)); @@ -82,12 +128,12 @@ namespace VEPROMS.CSLA.Library //{ return false; } #endregion } - public enum E_FromType : int - { - Procedure = 1, Section = 2, Caution = 3, Note = 4, RNO = 5, Step = 6, Table = 7 - } - public enum E_FromTypes : int - { - Procedures = 1, Sections = 2, Cautions = 3, Notes = 4, RNOs = 5, Steps = 6, Tables = 7 - } + public enum E_FromType : int + { + Procedure = 1, Section = 2, Caution = 3, Note = 4, RNO = 5, Step = 6, Table = 7 + } + public enum E_FromTypes : int + { + Procedures = 1, Sections = 2, Cautions = 3, Notes = 4, RNOs = 5, Steps = 6, Tables = 7 + } } diff --git a/PROMS/Volian.Controls.Library/DSOTabPanel.cs b/PROMS/Volian.Controls.Library/DSOTabPanel.cs index 5d085b51..2284a853 100644 --- a/PROMS/Volian.Controls.Library/DSOTabPanel.cs +++ b/PROMS/Volian.Controls.Library/DSOTabPanel.cs @@ -119,12 +119,40 @@ namespace Volian.Controls.Library // this._MyDSOFramer.FrameHookPolicy = DSOFramer.dsoFrameHookPolicy.dsoResetNow; this._MyDSOFramer.BeforeDocumentClosed += new AxDSOFramer._DFramerCtlEvents_BeforeDocumentClosedEventHandler(_MyDSOFramer_BeforeDocumentClosed); this._MyDSOFramer.OnSaveCompleted += new AxDSOFramer._DFramerCtlEvents_OnSaveCompletedEventHandler(_MyDSOFramer_OnSaveCompleted); + //this._MyDSOFramer.LostFocus += new EventHandler(_MyDSOFramer_LostFocus); + //this._MyDSOFramer.GotFocus += new EventHandler(_MyDSOFramer_GotFocus); + //this._MyDSOFramer.Enter += new EventHandler(_MyDSOFramer_Enter); + //this._MyDSOFramer.Leave += new EventHandler(_MyDSOFramer_Leave); //this._MyDSOFramer.OnActivationChange += new AxDSOFramer._DFramerCtlEvents_OnActivationChangeEventHandler(_MyDSOFramer_OnActivationChange); this.Enter += new EventHandler(DSOTabPanel_Enter); this.Leave += new EventHandler(DSOTabPanel_Leave); //this.GotFocus += new EventHandler(DSOTabPanel_GotFocus); //this.LostFocus += new EventHandler(DSOTabPanel_LostFocus); } + + //void _MyDSOFramer_Leave(object sender, EventArgs e) + //{ + // vlnStackTrace.ShowStack("DSO Leave {0}", this.MyDocumentInfo.DocID); + //} + + //void _MyDSOFramer_Enter(object sender, EventArgs e) + //{ + // vlnStackTrace.ShowStack("DSO Enter {0}", this.MyDocumentInfo.DocID); + //} + + //void _MyDSOFramer_GotFocus(object sender, EventArgs e) + //{ + // vlnStackTrace.ShowStack("DSO Got Focus {0}",this.MyDocumentInfo.DocID); + //} + + //void _MyDSOFramer_LostFocus(object sender, EventArgs e) + //{ + // vlnStackTrace.ShowStack("DSO Lost Focus {0}", this.MyDocumentInfo.DocID); + //} + public void EnterPanel() + { + DSOTabPanel_Enter(this, new EventArgs()); + } //void DSOTabPanel_LostFocus(object sender, EventArgs e) //{ // vlnStackTrace.ShowStack("DSOTabPanel_LostFocus {0} DocID {1} Index {2} {3}", _In_DSOTabPanel_Enter, this._MyDocumentInfo.DocID, _MyDisplayTabControl.MyBar.SelectedDockTab, sender.GetType().FullName); @@ -189,7 +217,7 @@ namespace Volian.Controls.Library /// /// /// - void DSOTabPanel_Enter(object sender, EventArgs e) + private void DSOTabPanel_Enter(object sender, EventArgs e) { if (IgnoreEnter) return; _MyTransparentPanel.SendToBack(); @@ -203,7 +231,7 @@ namespace Volian.Controls.Library if (_MyLog.IsErrorEnabled) _MyLog.ErrorFormat("DSOTabPage_Enter", ex); } if (_In_DSOTabPanel_Enter) return; - vlnStackTrace.ShowStack("DSOTabPanel_Enter {0} DocID {1} Index {2} {3}",_In_DSOTabPanel_Enter, this._MyDocumentInfo.DocID, _MyDisplayTabControl.MyBar.SelectedDockTab, sender.GetType().FullName); + //vlnStackTrace.ShowStack("DSOTabPanel_Enter {0} DocID {1} Index {2} {3}",_In_DSOTabPanel_Enter, this._MyDocumentInfo.DocID, _MyDisplayTabControl.MyBar.SelectedDockTab, sender.GetType().FullName); _In_DSOTabPanel_Enter = true; _MyDisplayTabControl.OnItemSelectedChanged(this,new ItemSelectedChangedEventArgs(MyDisplayTabItem.MyItemInfo)); _MyDSOFramer.Focus(); diff --git a/PROMS/Volian.Controls.Library/DisplayTabControl.cs b/PROMS/Volian.Controls.Library/DisplayTabControl.cs index 2da28c2a..a3f15366 100644 --- a/PROMS/Volian.Controls.Library/DisplayTabControl.cs +++ b/PROMS/Volian.Controls.Library/DisplayTabControl.cs @@ -207,11 +207,15 @@ namespace Volian.Controls.Library Bar bar = sender as Bar; if (bar != null) { - if(dotNetBarManager1.Bars.Contains(bar.Name)) + if (dotNetBarManager1.Bars.Contains(bar.Name)) dotNetBarManager1.Bars.Remove(bar); ActivateRemainingTab(); } } + else + { + ActivateRemainingTab((Bar)sender); + } } #endregion #region Public Methods @@ -243,15 +247,32 @@ namespace Volian.Controls.Library { if (myBar.DockSide == eDockSide.Document && myBar.Visible) { - if (myBar.SelectedDockContainerItem != null) - { - myBar.SelectedDockContainerItem.Selected = true; - } + ActivateRemainingTab(myBar); } } // No Document Tabs Remaining - need to raise OnItemSelectedChanged OnItemSelectedChanged(this, null); } + private DisplayTabItem FindRemainingTab(Bar myBar) + { + foreach (DisplayTabItem itm in myBar.Items) + { + if (!_RemovedDisplayTabItems.Contains(itm)) return itm; + } + return null; + } + private void ActivateRemainingTab(Bar myBar) + { + if (myBar.SelectedDockContainerItem != null) + { + if (_RemovedDisplayTabItems.Contains(myBar.SelectedDockContainerItem as DisplayTabItem)) + myBar.SelectedDockContainerItem = FindRemainingTab(myBar); + myBar.SelectedDockContainerItem.Selected = true; + StepTabPanel pnl = myBar.SelectedDockContainerItem.Control as StepTabPanel; + if (pnl != null) + pnl.MyStepPanel.ItemShow(); + } + } #endregion #region Public Properties public DevComponents.DotNetBar.Bar MyBar @@ -363,6 +384,7 @@ namespace Volian.Controls.Library _MyDisplayTabItems.Add(key, pg); } SelectedDisplayTabItem = pg; + pg.MyDSOTabPanel.EnterPanel(); return pg; } /// diff --git a/PROMS/Volian.Controls.Library/DisplayTabItem.cs b/PROMS/Volian.Controls.Library/DisplayTabItem.cs index e6085fe5..eaac1400 100644 --- a/PROMS/Volian.Controls.Library/DisplayTabItem.cs +++ b/PROMS/Volian.Controls.Library/DisplayTabItem.cs @@ -69,12 +69,46 @@ namespace Volian.Controls.Library container.Add(this); InitializeComponent(); this.Click += new EventHandler(DisplayTabItem_Click); + //this.GotFocus += new EventHandler(DisplayTabItem_GotFocus); + //this.LostFocus += new EventHandler(DisplayTabItem_LostFocus); + //this.MouseDown += new System.Windows.Forms.MouseEventHandler(DisplayTabItem_MouseDown); + //this.MouseUp += new System.Windows.Forms.MouseEventHandler(DisplayTabItem_MouseUp); if (myItemInfo.MyContent.MyEntry == null) SetupStepTabPanel(); else SetupDSOTabPanel(); Name = string.Format("DisplayTabItem {0}", myItemInfo.ItemID); } + protected override void OnDisplayedChanged() + { + //Console.WriteLine("=>=>=>=> OnDisplayedChanged"); + if(_MyStepTabPanel != null) + _MyStepTabPanel.MyStepPanel.DisplayItemChanging = true; + base.OnDisplayedChanged(); + if(_MyStepTabPanel != null) + _MyStepTabPanel.MyStepPanel.DisplayItemChanging = false; + //Console.WriteLine("<=<=<=<= OnDisplayedChanged"); + } + + //void DisplayTabItem_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) + //{ + // Console.WriteLine("DisplayTabItem_MouseUp"); + //} + + //void DisplayTabItem_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) + //{ + // Console.WriteLine("DisplayTabItem_MouseDown"); + //} + + //void DisplayTabItem_LostFocus(object sender, EventArgs e) + //{ + // Console.WriteLine("DisplayTabItem_LostFocus"); + //} + + //void DisplayTabItem_GotFocus(object sender, EventArgs e) + //{ + // Console.WriteLine("DisplayTabItem_GotFocus"); + //} #endregion #region Event Handlers /// @@ -89,6 +123,7 @@ namespace Volian.Controls.Library if(myTabItem == null)return; StepTabPanel myTabPanel = myTabItem.MyStepTabPanel as StepTabPanel; if(myTabPanel == null) return; + if (MyStepTabPanel.SelectedStepItem == null) return; _MyDisplayTabControl.OnItemSelectedChanged(this,new ItemSelectedChangedEventArgs(MyStepTabPanel.SelectedStepItem)); } #endregion @@ -111,6 +146,7 @@ namespace Volian.Controls.Library // _MyDisplayTabControl.Controls.Add(_MyStepTabPanel); _MyDisplayTabControl.MyBar.Items.Add(this); + _MyDisplayTabControl.MyBar.Width = 300; // This triggers the bar to resize itself // // tabPanel // @@ -148,12 +184,12 @@ namespace Volian.Controls.Library // //Console.WriteLine("Enabled = true {0}", Name); //_MyDisplayTabControl.MyBar.Enabled = true; - Console.WriteLine("SelectedDisplayTabItem {0}", Name); + //Console.WriteLine("SelectedDisplayTabItem {0}", Name); _MyDisplayTabControl.SelectedDisplayTabItem = this; - Console.WriteLine("MyDisplayTabItem {0}", Name); + //Console.WriteLine("MyDisplayTabItem {0}", Name); _MyDSOTabPanel.MyDisplayTabItem = this; DSOTabPanel.IgnoreEnter = false; - _MyDisplayTabControl.OnItemSelectedChanged(this, new ItemSelectedChangedEventArgs(MyItemInfo)); + //_MyDisplayTabControl.OnItemSelectedChanged(this, new ItemSelectedChangedEventArgs(MyItemInfo)); } #endregion } diff --git a/PROMS/Volian.Controls.Library/StepItem.cs b/PROMS/Volian.Controls.Library/StepItem.cs index e62cc228..7422a711 100644 --- a/PROMS/Volian.Controls.Library/StepItem.cs +++ b/PROMS/Volian.Controls.Library/StepItem.cs @@ -897,6 +897,8 @@ namespace Volian.Controls.Library /// private void _StepRTB_Enter(object sender, EventArgs e) { + if (_MyStepPanel.DisplayItemChanging) return; + //vlnStackTrace.ShowStack("_StepRTB_Enter {0}",this.MyID); _MyStepPanel.SelectedStepRTB = _MyStepRTB; } /// diff --git a/PROMS/Volian.Controls.Library/StepPanel.cs b/PROMS/Volian.Controls.Library/StepPanel.cs index 203dc238..2fcb431b 100644 --- a/PROMS/Volian.Controls.Library/StepPanel.cs +++ b/PROMS/Volian.Controls.Library/StepPanel.cs @@ -303,6 +303,7 @@ namespace Volian.Controls.Library get { return _SelectedItemInfo; } set { + //vlnStackTrace.ShowStack("SelectedItemInfo {0} => {1}",_SelectedItemInfo, value); _SelectedItemInfo = value; int id = value.ItemID; ExpandAsNeeded(value); @@ -312,6 +313,12 @@ namespace Volian.Controls.Library //vlnStackTrace.ShowStack("_ItemSelected = {0}", _ItemSelected.ItemID);// Show StackTrace } } + private bool _DisplayItemChanging = false; + public bool DisplayItemChanging + { + get { return _DisplayItemChanging; } + set { _DisplayItemChanging = value; } + } /// /// Returns the SelectedStepItem /// @@ -325,7 +332,14 @@ namespace Volian.Controls.Library public void ItemShow() { if (_SelectedItemInfo != null) + { SelectedStepItem.ItemShow(); + OnItemSelectedChanged(this, new ItemSelectedChangedEventArgs(SelectedStepItem)); + } + } + public void MouseWheel(MouseEventArgs e) + { + base.OnMouseWheel(e); } /// /// Used to track movement other than scrolling diff --git a/PROMS/Volian.Controls.Library/StepRTB.cs b/PROMS/Volian.Controls.Library/StepRTB.cs index b75ae448..11bdd2e3 100644 --- a/PROMS/Volian.Controls.Library/StepRTB.cs +++ b/PROMS/Volian.Controls.Library/StepRTB.cs @@ -159,7 +159,7 @@ namespace Volian.Controls.Library /// int tbindx - tab index /// E_EditPrintMode ep_mode - edit or print. /// E_ViewMode vw_mode - view or edit. - /// + /// public StepRTB() { InitializeComponent(); @@ -172,6 +172,11 @@ namespace Volian.Controls.Library _Container = container; SetUp(); } + protected override void OnMouseWheel(MouseEventArgs e) + { + _MyStepItem.MyStepPanel.MouseWheel(e); + //base.OnMouseWheel(e); + } private void SetUp() { BorderStyle = System.Windows.Forms.BorderStyle.None; diff --git a/PROMS/Volian.Controls.Library/StepTabPanel.cs b/PROMS/Volian.Controls.Library/StepTabPanel.cs index 1e6a8cf6..83ac3f4b 100644 --- a/PROMS/Volian.Controls.Library/StepTabPanel.cs +++ b/PROMS/Volian.Controls.Library/StepTabPanel.cs @@ -124,6 +124,12 @@ namespace Volian.Controls.Library } #endregion #region Event Handlers + private bool _ShowingItem = false; + public bool ShowingItem + { + get { return _ShowingItem; } + set { _ShowingItem = value; } + } /// /// Occurs when the user clicks on a StepTabPanel /// @@ -131,9 +137,12 @@ namespace Volian.Controls.Library /// private void StepTabPanel_Enter(object sender, EventArgs e) { + if (_ShowingItem) return; + _ShowingItem = true; //if (ItemSelected != null) - _MyStepPanel.ItemShow(); - } + _MyStepPanel.ItemShow(); + _ShowingItem = false; + } /// /// Occurs when the cursor moves onto or off of a link ///