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
///